Function at 0x14003fec4
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x158
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x78], r8
mov qword [rbp + 0xa8], rdx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rcx
mov eax, 0x10
mov qword [rbp + 0x90], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x90]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp + 0xa8]
add rsp, 0x20
mov qword [rbp + 0xb0], rax
movabs rax, 0xb0076a6e6fed7772
movabs rcx, 0x30076a6e6fed7772
xor rax, rcx
cmp rdx, rax
jne 0x14003ff7b
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400408db
mov rcx, qword [rbp + 0x80]
mov rdx, qword [rbp + 0xa8]
mov rax, rdx
neg rax
cmovns rdx, rax
sub rsp, 0x20
call fcn.140006408
mov rax, qword [rbp + 0xb0]
add rsp, 0x20
cmp byte [rax + 0x60], 0
jne 0x1400408db
mov rdx, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
mov r8, qword [rax]
mov rcx, rdx
sub rcx, r8
mov qword [rbp + 0x70], rcx
mov rax, rcx
xor rax, rdx
cmp rax, 0
setl al
mov r9, rcx
and r9, r8
movabs rdx, 0xbe2ca7217792e904
movabs r10, 0xbe2ca7217792e906
xor rdx, r10
imul rdx, r9
add rcx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, 1
xor cl, 0
xor al, cl
xor ecx, ecx
xor cl, 1
xor dl, cl
xor ecx, ecx
xor cl, 1
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
or cl, 1
xor al, 0xff
and al, cl
test al, 1
jne 0x14004006d
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x98]
add rcx, 8
mov qword [rbp + 0x50], rcx
add rax, 8
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0xc8]
add rax, 8
mov qword [rbp + 0x60], rax
mov eax, 1
mov qword [rbp + 0x68], rax
jmp 0x14004007f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400408db
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x48], rax
cmp rax, rcx
jg 0x140040438
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x80]
mov rdx, qword [rax]
movabs rax, 0xbfb77d6d4d56506a
movabs r8, 0x2abc47edf184bc85
xor rax, r8
add rdx, rax
add rdx, 1
movabs rax, 0x950b3a80bcd2ecef
sub rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0x30], rcx
mov rax, qword [rax]
mov qword [rbp + 0x38], rax
mov byte [rax + rcx + 8], 0x30
xor eax, eax
mov edx, eax
sub rdx, rcx
movabs rax, 0x292a2f06b797a7ef
movabs r8, 0x292a2f06b797a7ef
xor rax, r8
movabs r8, 0xfed526a0f484303e
movabs r9, 0xfed526a0f484303f
xor r8, r9
sub rax, r8
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rbp + 0x40], rax
movabs rdx, 0x389ac8c7b6a98043
movabs r8, 0xc765373849567fbc
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xcd7c3519bad73749
movabs rdx, 0xcd7c3519bad73749
xor rcx, rdx
cmp rax, rcx
jge 0x140040196
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x28], rax
jmp 0x1400401ab
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x38]
mov dl, 0xa1
xor dl, 0xa1
mov byte [rcx + rax + 8], dl
mov qword [rbp + 0x28], rax
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x28]
mov qword [rbp + 8], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x10], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0x18], rdx
movabs rdx, 0x34f1bdd13df652ce
movabs r8, 0x34f1bdd13df652ce
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x20], rax
jle 0x1400403a6
mov rcx, qword [rbp + 0x10]
movabs rdx, 0x4360a69cfaaae836
movabs rax, 0x4360a69cfaaae837
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rdx, 0x63ad6a30ca4919d3
movabs r9, 0x9c5295cf35b6e62c
xor rdx, r9
and rdx, r8
shl rdx, 1
movabs r8, 0xa627a8b02e11dd61
movabs r9, 0x59d8574fd1ee229e
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140040282
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x20], rax
jmp 0x1400403a6
mov rax, qword [rbp]
cmp rax, 0
jge 0x1400402dc
mov rcx, qword [rbp]
movabs rdx, 0x3dc5d96b9fecdef5
movabs rax, 0x3dc5d96b9fecdef5
xor rdx, rax
movabs r8, 0xde91c468a889ab2a
movabs rax, 0xa16e3b97577654d5
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x20], rax
jmp 0x1400403a6
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x38]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x18], rcx
add rax, 8
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp - 8], rax
jne 0x140040301
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 8]
mov rax, rdx
add rax, r8
mov rcx, rax
xor rcx, r8
mov r8, rax
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r9, 0x13666c53eb76d621
movabs r10, 0xec9993ac148929de
xor r9, r10
xor rdx, r9
or rcx, r8
and rcx, rdx
movabs rdx, 0x353bf741051dc3ad
movabs r8, 0x353bf741051dc3ad
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x20], rax
jge 0x1400403a6
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x20]
mov qword [rbp + 0xc8], r8
mov qword [rax], rdx
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14001b13e
mov rdx, qword [rbp + 0x48]
add rsp, 0x20
movabs rcx, 0x53a5aaef61933aef
movabs rax, 0x53a5aaef61933aee
xor rcx, rax
mov rax, rdx
add rax, rcx
movabs rcx, 0x199ba31e95218cf5
movabs r8, 0xe6645ce16ade730a
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x68], rax
jge 0x14004007f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400408db
mov rax, qword [rbp + 0xa8]
movabs rcx, 0x2284b79d02d82851
movabs rdx, 0x2284b79d02d82851
xor rcx, rdx
cmp rax, rcx
jge 0x1400408db
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x80]
mov rdx, qword [rax]
add rdx, 1
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0xa0]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 0x30], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
mov byte [rax + rcx + 8], 0x2d
movabs rdx, 0x654a393487f05c1a
movabs rax, 0x654a393487f05c1b
xor rdx, rax
movabs rax, 0x643842d5e6b75dfd
movabs r8, 0x9bc7bd2a1948a202
xor rax, r8
xor rdx, rax
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp - 0x20], rax
movabs rdx, 0xa0a273fd273c2d74
movabs r8, 0x5f5d8c02d8c3d28b
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x69b47640ecab6c11
movabs rdx, 0x69b47640ecab6c11
xor rcx, rdx
cmp rax, rcx
jge 0x140040537
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov qword [rbp - 0x38], rax
jmp 0x14004054c
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
mov dl, 0x8b
xor dl, 0x8b
mov byte [rcx + rax + 8], dl
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x58], rax
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
movabs rdx, 0x6b3a210bd7317920
movabs r8, 0x6b3a210bd7317920
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x40], rax
jle 0x1400408aa
mov rdx, qword [rbp - 0x50]
movabs rax, 0xcc3ed914dfb299b5
movabs rcx, 0xcc3ed914dfb299b4
xor rax, rcx
mov rcx, rdx
add rcx, rax
mov qword [rbp - 0x60], rcx
movabs rax, 0x8fccecb654de45b2
movabs r8, 0x70331349ab21ba4d
xor rax, r8
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs r8, 0x420660fb651c6fc8
movabs r9, 0xbdf99f049ae39037
xor r8, r9
xor rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jge 0x140040626
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x40], rax
jmp 0x1400408aa
mov rax, qword [rbp - 0x60]
cmp rax, 0
jge 0x140040680
mov rcx, qword [rbp - 0x60]
movabs rdx, 0xf67d02f5590a4852
movabs rax, 0xf67d02f5590a4852
xor rdx, rax
movabs r8, 0x8b0ba8308f1edf5b
movabs rax, 0xf4f457cf70e120a4
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x40], rax
jmp 0x1400408aa
mov rax, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x28]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x78], rcx
add rax, 8
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x6d514217fa7bc646
movabs rax, 0x6d514217fa7bc647
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp - 0x68], rax
jne 0x1400406a5
mov r9, qword [rbp - 0x50]
mov r8, qword [rbp - 0x58]
mov rcx, r9
and rcx, r8
shl rcx, 1
mov rax, r9
xor rax, r8
add rax, rcx
movabs rdx, 0x441adbb4b8b31ce9
movabs rcx, 0xbbe5244b474ce316
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xff3f991ce0292b60
and rcx, rdx
mov r11, 0xffffffffffffffff
movabs rdx, 0xff3f991ce0292b60
xor r11, rdx
mov r10, rax
and r10, r11
movabs rsi, 0xe762097580436686
movabs rdx, 0x189df68a7fbc9979
xor rsi, rdx
mov rdx, r8
xor rdx, rsi
movabs rsi, 0xff3f991ce0292b60
and rdx, rsi
and r8, r11
or rcx, r10
or rdx, r8
xor rcx, rdx
movabs r8, 0x980f3a84bee04106
movabs rdx, 0x67f0c57b411fbef9
xor r8, rdx
mov rdx, rax
xor rdx, r8
movabs r10, 0xa2b3a5b93990321d
movabs r8, 0x5d4c5a46c66fcde2
xor r10, r8
mov r8, rax
xor r8, r10
and rdx, r8
movabs r10, 0xc26d7a60cc4979ac
movabs r8, 0x3d92859f33b68653
xor r10, r8
mov r8, r9
xor r8, r10
movabs r11, 0xa8792e4bb2988d33
movabs r10, 0x5786d1b44d6772cc
xor r11, r10
mov r10, r9
xor r10, r11
and r8, r10
movabs r10, 0xf549ee6b8ba31bf2
movabs r11, 0xab61194745ce40d
xor r10, r11
xor rdx, r10
xor r8, 0xffffffffffffffff
and rdx, r8
mov r8, rax
or r8, r9
movabs r9, 0x18620f4cdc3feddd
movabs r10, 0xe79df0b323c01222
xor r9, r10
xor r8, r9
movabs r9, 0x62eb65840f689633
movabs r10, 0x9d149a7bf09769cc
xor r9, r10
xor rdx, r9
movabs r9, 0xb4c231bb3b2462d9
movabs r10, 0x4b3dce44c4db9d26
xor r9, r10
xor r8, r9
and rdx, r8
and rcx, rdx
movabs rdx, 0xf2102d5828e41cc0
movabs r8, 0xf2102d5828e41cc0
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x40], rax
jge 0x1400408aa
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x40]
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.14001b13e
add rsp, 0x20
mov rax, qword [rbp + 0x88]
lea rsp, [rbp + 0xd8]
pop rsi
pop rbp
ret