Function at 0x14003e6a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x140
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], r9
mov qword [rbp + 0x10], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp + 8], rcx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
sub rsp, 0x20
call fcn.14003a6eb
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp], rax
movabs rax, 0xc8dec51e27913e55
movabs rdx, 0xc8dec51e27913e55
xor rax, rdx
mov qword [rcx], rax
xor eax, eax
mov ecx, eax
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.14000f990
mov rcx, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov r9, qword [rbp + 0x18]
add rsp, 0x20
mov qword [rcx + 8], rax
mov qword [rbp + 0xb0], 0
lea rax, [rbp + 0xb0]
add rax, 8
mov qword [rbp + 0x20], rax
mov qword [rbp + 0xb8], 0
mov rax, qword [r8]
mov ecx, 1
cmp rax, 0
cmove rax, rcx
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x70]
add rax, 8
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x50]
add rax, 8
mov qword [rbp + 0x38], rax
xor eax, eax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], r9
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x48]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
mov ecx, dword [0x1401c9cb0]
xor ecx, 0xcc7b0f53
mov eax, dword [0x1401c9cb4]
mov edx, 0x53eed18c
xor edx, 0xe046591c
xor eax, edx
imul ecx, eax
or ecx, 0x50e8e132
mov eax, 0xb1c5a50a
xor eax, 0x610d8a9a
and ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x4f48efd0
xor edx, 0xb0b7102f
xor eax, edx
mov edx, 0x887741cc
xor edx, 0x710323aa
and eax, edx
xor eax, 0xffffffff
mov edx, 0xf9746266
and edx, 0xf9746266
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x52435042
jae 0x14003ed82
mov r8, qword [rbp - 0x18]
mov eax, dword [0x1401c9cb8]
xor eax, 0x8fcb1d40
and eax, dword [0x1401c9cbc]
sub eax, 0x38fe2ccb
add eax, 0x1086c4b4
add eax, 0x38fe2ccb
sub eax, 0xe2bd178b
mov ecx, 0x6e1eb0e2
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x20]
mov ecx, 0x15b90e77
xor ecx, 0x344a21bc
cmp rdx, qword [r8]
setg dl
mov byte [rbp - 0x29], dl
cmp eax, ecx
je 0x14003e81c
mov rax, qword [rbp - 0x20]
mov cl, byte [rbp - 0x29]
test cl, 1
mov qword [rbp - 0x38], rax
jne 0x14003eb9c
jmp 0x14003e887
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x40], rax
cmp rax, qword [rcx]
jge 0x14003e9cd
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp - 0x18]
mov r8, qword [rcx]
mov qword [rbp + 0x90], r8
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x98], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x80], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x90]
lea r8, [rbp + 0x80]
sub rsp, 0x20
call fcn.14003e340
add rsp, 0x20
mov cl, al
mov rax, qword [rbp]
mov byte [rbp - 0x41], cl
cmp byte [rax], 0
jne 0x14003eb9c
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14003e9cd
jmp 0x14003e90f
mov rcx, qword [rbp - 0x40]
movabs rdx, 0x851b501f8b6c9383
movabs rax, 0x851b501f8b6c9382
xor rdx, rax
mov rax, rcx
and rax, rdx
mov rdx, rcx
or rdx, 1
add rax, rdx
mov r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
xor rdx, 0xffffffffffffffff
and r8, rdx
mov rdx, 0xffffffffffffffff
or rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and r8, rdx
movabs rdx, 0x168d7697ddcdb216
movabs r9, 0xe972896822324de9
xor rdx, r9
xor rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or r8, rcx
xor r8, 0xffffffffffffffff
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
mov rdx, rax
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x38], rax
jl 0x14003eb8f
jmp 0x14003e887
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
cmp rcx, 0
sete cl
mov byte [rbp - 0x51], cl
test cl, 1
mov qword [rbp - 0x50], rax
jne 0x14003e9f1
jmp 0x14003e9fc
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov rdx, qword [rbp - 0x50]
mov qword [rbp - 0x68], rdx
xor eax, eax
mov ecx, eax
sub rcx, rdx
xor eax, eax
sub rax, 0xffffffffffffffff
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
or al, al
xor al, 0xff
or cl, cl
xor edx, edx
xor dl, 1
xor cl, dl
xor al, 0xff
mov dl, 1
xor dl, 0
xor cl, dl
and al, cl
test al, 1
jne 0x14003eb8f
mov r9, qword [rbp - 0x60]
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp + 0x60], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x68], rax
lea rcx, [rbp + 0x70]
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140019d8c
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rcx]
mov qword [rbp + 0x50], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x50]
sub rsp, 0x20
call fcn.140013b10
add rsp, 0x20
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14000f979
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov rax, qword [rbp + 0xa0]
mov qword [rdx], rax
mov rax, qword [rbp + 0xa8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001b5c0
mov al, byte [rbp - 0x51]
add rsp, 0x20
test al, 1
jne 0x14003eb9c
mov r8, qword [rbp - 0x28]
mov rcx, r8
dec rcx
mov qword [rbp - 0x70], rcx
not r8
mov rdx, rcx
or rdx, r8
mov rax, rcx
and rax, r8
not rax
and rdx, rax
not rdx
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x14003eb8f
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp - 0x68]
mov rcx, r8
add rcx, rdx
mov qword [rbp - 0x78], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x14003eb8f
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x78]
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jmp 0x14003e78e
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x14003ebed
mov rax, qword [rbp - 0x80]
mov rax, qword [rax]
movabs rcx, 0x98fa54504dd55d85
movabs rdx, 0xd8fa54504dd55d85
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x14003ebed
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000e572
add rsp, 0x20
mov ecx, dword [0x1401c9cc0]
mov eax, 0x28a857d7
xor eax, 0x8fd7b272
xor ecx, eax
mov eax, dword [0x1401c9cc4]
xor eax, 0xf4d5f3c6
mov edx, 0xae557617
xor edx, 0x51aa89e8
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, ecx
or eax, 0xaca4c002
mov edx, 0x155fd75e
xor edx, 0xeaa028a1
xor eax, edx
or ecx, 0xaca4c002
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x84d8e925
xor edx, 0x7b2716da
xor ecx, edx
and eax, ecx
mov ecx, eax
and ecx, 0x64ccf74
xor eax, 0x64ccf74
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x2e804b78
xor edx, 0x21035c30
mov r8d, 0xa8b49129
xor r8d, 0xa7378661
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xca4620f
xor r8d, 0xf35b9df0
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf831748
and ecx, edx
mov edx, 0x14aee7ae
xor edx, 0xeb511851
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xabae314a
xor ecx, 0xfe3d9595
cmp eax, ecx
jb 0x14003ed8b
mov r11d, dword [0x1401c9cc8]
mov eax, dword [0x1401c9ccc]
mov ecx, 0xd48952eb
xor ecx, 0xb1cacafd
xor eax, ecx
add r11d, eax
or r11d, 0xcf5186e4
mov eax, 0x9d876065
xor eax, 0x9c47dcff
or r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x6f786dbf
mov edx, 0xe9e2e1a
xor edx, 0x4ed9e77c
mov eax, 0x4325f648
xor eax, 0xbcda09b7
xor edx, eax
mov eax, ecx
and eax, 0x4047c966
and r11d, edx
mov r9d, r8d
and r9d, 0x4047c966
mov r10d, 0xf6b29e8f
xor r10d, 0x99caf330
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x4047c966
and ecx, edx
or eax, ecx
cmp eax, 0x9fc13fc9
je 0x14003ecd2
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0xc0]
pop rbp
ret
mov edx, 0xe9763181
xchg ecx, eax
cli
invalid
sub dword [rbx], ecx
sub ecx, 0xffffff3e
nop word cs:[rax + rax]