Function at 0x14009b260
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x100
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x20], rdx
mov dword [rbp - 4], ecx
mov eax, 0x10
mov qword [rbp - 0x18], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp - 0x18]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.14009bad1
mov edx, dword [rbp - 4]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp]
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x78], 0
mov qword [rax], 0
mov rcx, rax
add rcx, 8
mov qword [rbp + 8], rcx
mov qword [rax + 8], 0
lea rcx, [rbp + 0x68]
sub rsp, 0x20
call fcn.140043655
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x20], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x14009b797
mov rcx, qword [rbp]
mov rdx, qword [rbp + 0x18]
add rdx, 8
sub rsp, 0x20
call fcn.14001bf69
mov rcx, qword [rbp]
add rsp, 0x20
lea rdx, [0x1401e9ab0]
sub rsp, 0x20
call fcn.14009baf0
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x60], rax
lea rdx, [rbp + 0x58]
sub rsp, 0x20
call fcn.14009baf0
mov rcx, qword [rbp]
add rsp, 0x20
lea rdx, [0x1401e9ac0]
sub rsp, 0x20
call fcn.14009baf0
mov rcx, qword [rbp + 8]
mov eax, dword [rbp - 4]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x28], rcx
cmp eax, 0xc0000022
jne 0x14009b3f4
mov ecx, 0x48
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
add rsp, 0x20
mov rcx, qword [0x1401eb5a8]
mov qword [rax], rcx
lea rcx, [0x1401e9ad0]
mov qword [rax + 0x10], rcx
mov rcx, qword [0x1401e9ae8]
mov qword [rax + 0x18], rcx
mov rcx, qword [0x1401e9af0]
mov qword [rax + 0x20], rcx
mov qword [rax + 8], 0
mov qword [rbp - 0x30], rax
jmp 0x14009b51f
mov rax, qword [rbp]
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
mov ecx, 0x48
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
mov rdx, qword [rbp - 0x40]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x38], rcx
mov r8, qword [0x1401eb560]
mov qword [rcx], r8
lea r8, [0x1401e9af8]
mov qword [rcx + 0x10], r8
movabs rcx, 0x6b1fc76d8dc6b834
movabs r8, 0x6b1fc76d8dc6b834
xor rcx, r8
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], 0
mov rcx, qword [rax]
movabs rax, 0x4212bf2660d85af3
movabs r8, 0x4212bf2660d85af2
xor rax, r8
add rdx, rax
mov rax, rdx
and rax, rcx
shl rax, 1
xor rdx, rcx
add rdx, rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.14001bf69
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rdx], rcx
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x48]
sub rsp, 0x20
call fcn.14009baf0
add rsp, 0x20
lea rcx, [rbp + 0x48]
lea rdx, [0x1401e9b00]
sub rsp, 0x20
call fcn.14009baf0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x38], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x48]
lea rdx, [rbp + 0x38]
sub rsp, 0x20
call fcn.14009baf0
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov rcx, qword [rbp + 0x48]
mov qword [rax + 0x18], rcx
mov rcx, qword [rbp + 0x50]
mov qword [rax + 0x20], rcx
mov qword [rax + 8], 0
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x50], rax
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.14005dc70
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov dl, byte [rcx]
mov r8b, 0xe9
xor r8b, 0xe9
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x48], rcx
cmp dl, r8b
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jne 0x14009b797
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14005dc78
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 0x50]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x58], rax
jne 0x14009baa0
mov eax, dword [0x1401d9580]
add eax, dword [0x1401d9584]
or eax, 0xb7fd5794
imul eax, eax, 0x12499214
mov ecx, eax
and ecx, 0xe0cfb64b
xor ecx, 0xffffffff
add eax, 0xe0cfb64b
add eax, 1
add eax, ecx
mov ecx, 0x9de8bcfe
xor ecx, 0xd019f108
cmp eax, ecx
jbe 0x14009baad
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1401d9588]
xor eax, 0x68eb7e67
mov edx, dword [0x1401d958c]
xor edx, 0x3a9f030a
add eax, edx
sub eax, 0x60f06848
sub eax, 0xd764cfdf
imul eax, eax, 0x33749db4
cmp rcx, 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0x6b5b818e
je 0x14009b5cb
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14009b70a
jmp 0x14009b61d
mov rcx, qword [rbp + 0x20]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x401a25622d832575
movabs rdx, 0x401a25622d832575
xor rcx, rdx
cmp rax, rcx
jne 0x14009b70a
mov eax, dword [0x1401d9590]
mov ecx, 0xe4d7df63
xor ecx, 0x2849b3f2
xor eax, ecx
mov ecx, dword [0x1401d9594]
xor ecx, 0xa8d8ebca
and eax, ecx
sub eax, 0x7b14ab3e
sub eax, 0xa548bb28
add eax, 0x7b14ab3e
xor eax, 0x1803b9e3
imul eax, eax, 0xc3102cbd
cmp eax, 0xc6dd94e7
jbe 0x14009bab6
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x1401d9598]
mov edx, 0xda24e403
xor edx, 0x81dce541
xor eax, edx
mov edx, dword [0x1401d959c]
sub eax, 0x67cd442d
add eax, edx
add eax, 0x67cd442d
and eax, 0x2c0abe36
mov r8d, 0xcf7f7217
xor edx, edx
div r8d
mov edx, 0x2678fd8a
xor edx, 0xc291aaa3
add eax, edx
mov dword [rbp - 0x60], eax
mov eax, 0xa7954a40
xor eax, 0x2b6f8441
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.14000eb2e
mov ecx, dword [rbp - 0x64]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
cmp eax, ecx
je 0x14009b694
jmp 0x14009b70a
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x28]
cmp rcx, 0
mov qword [rbp - 0x58], rax
je 0x14009baa0
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rcx]
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp - 0x58], rax
jne 0x14009baa0
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14000eb2e
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov qword [rbp - 0x58], rax
jmp 0x14009baa0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
mov qword [rbp - 0x70], rdx
mov byte [rax], 0
sub rsp, 0x20
call fcn.14005dc78
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp - 0x58], rax
jne 0x14009baa0
mov rax, qword [rbp + 0x20]
cmp rax, 0
je 0x14009b908
mov eax, dword [0x1401d95a0]
xor eax, 0xf21f3969
mov r8d, dword [0x1401d95a4]
xor r8d, 0xb28cc127
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0x764c0efa
mov ecx, 0x6cc89679
xor ecx, 0x97c922a5
sub eax, ecx
mov ecx, 0x8668fa4
xor ecx, 0xbc2cbacd
sub eax, ecx
add eax, 0xfb01b4dc
add eax, 0x11f8e6e7
cmp eax, 0x6531a542
jb 0x14009babf
mov rdx, qword [rbp + 0x20]
mov eax, dword [0x1401d95a8]
mov r8d, dword [0x1401d95ac]
mov ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov r9d, r8d
or r9d, r9d
xor r9d, 0xffffffff
or ecx, r9d
mov r9d, 0xb8ffd509
xor r9d, 0x47002af6
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or ecx, eax
mov eax, 0xb60d51a2
xor eax, 0x49f2ae5d
xor ecx, eax
mov eax, 0x9b2eb218
xor eax, 0xa9adecf
or ecx, eax
sub ecx, 0xebd07e70
mov r8d, 0x392488d3
xor r8d, 0x3c677f1d
mov eax, 0x42d26184
xor eax, 0xbd2d9e7b
xor r8d, eax
mov eax, ecx
xor eax, r8d
and eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x2c5fb7ca
jae 0x14009b849
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14009b8f7
jmp 0x14009b908
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x14009ba93
mov ecx, dword [0x1401d95b0]
mov eax, dword [0x1401d95b4]
add ecx, 0xfb9c2dae
sub ecx, eax
sub ecx, 0xfb9c2dae
sub ecx, 0x4c86037c
mov eax, 0x186b96b0
xor eax, 0x909d30da
xor ecx, eax
mov edx, 0x2cee5bd4
xor edx, 0x38db8ced
mov eax, 0xd4ac124f
xor eax, 0x2b53edb0
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xcaad90d4
jae 0x14009bac8
mov rcx, qword [rbp - 0x70]
mov edx, dword [0x1401d95b8]
xor edx, 0x5077e263
mov r8d, dword [0x1401d95bc]
mov r9d, edx
xor r9d, r8d
mov eax, 0x76b89cfd
xor eax, 0x89476302
xor r9d, eax
mov eax, r8d
and eax, r9d
shl eax, 1
sub eax, r8d
sub edx, eax
mov eax, 0xffffffff
xor eax, 0x4494a7ce
add edx, eax
mov eax, 0x359beb50
xor eax, 0x359beb51
add edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0x5604b85f
xor r8d, 0x1faca2a
mov r9d, 0x8f39f703
xor r9d, 0x70c608fc
xor r8d, r9d
or eax, r8d
mov r8d, 0xe4bec152
xor r8d, 0xb340b327
and edx, r8d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, 0xb168325
xor edx, 0x96b020f6
and eax, edx
mov rcx, qword [rcx]
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xd1f590b4275bc1f6
movabs r8, 0x91f590b4275bc1f6
xor rdx, r8
movabs r8, 0xe643ad2890381514
movabs r9, 0x19bc52d76fc7eaeb
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
and rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0
sete cl
mov byte [rbp - 0x72], cl
cmp eax, 0x382635ef
ja 0x14009bac8
mov al, byte [rbp - 0x72]
test al, 1
jne 0x14009ba82
jmp 0x14009ba93
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov rax, qword [rbp + 0x10]
mov byte [rax], 1
xor eax, eax
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
lea rsp, [rbp + 0x80]
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
adc eax, 0x14fffffb
invalid
adc al, 0xfe
cmp eax, 0xfbd5e9da
invalid
imul esp, dword [0xc1f31f1c], 0xfffffffd
invalid
push rsi
jmp 0x14009b849
jle 0x14009bac1
invalid