Function at 0x140099eb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov eax, 0x10
mov qword [rbp + 0x50], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.14009a855
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov ax, 0xfa06
xor ax, 0xfbeb
mov word [rbp + 0x10e], ax
lea rcx, [rbp + 0x10e]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x70], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
add rcx, 8
lea rax, [0x1401e9a87]
cmp rdx, 0
cmove rcx, rax
mov rax, qword [0x1401eb530]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov qword [0x1401fb028], rax
mov word [rbp + 0x10c], 0x1cd
lea rcx, [rbp + 0x10c]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x48], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
mov qword [rbp + 0xe8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
lea rcx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x40], rcx
mov al, byte [rax]
mov cl, 0x8f
xor cl, 0x8f
cmp al, cl
jne 0x14009a828
mov rdx, qword [rbp + 0x40]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb030], rax
mov word [rbp + 0x10a], 0x271
lea rcx, [rbp + 0x10a]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x38], rcx
mov al, byte [rax]
mov cl, 0x97
xor cl, 0x97
cmp al, cl
jne 0x14009a828
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax]
mov qword [rbp + 0xd8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe0], rax
lea rcx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x30], rcx
mov al, byte [rax]
mov cl, 0xd5
xor cl, 0xd5
cmp al, cl
jne 0x14009a828
mov rdx, qword [rbp + 0x30]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb038], rax
mov word [rbp + 0x108], 0x301
lea rcx, [rbp + 0x108]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rdx, qword [rbp + 0x20]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb040], rax
mov word [rbp + 0x106], 0x19e
lea rcx, [rbp + 0x106]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x18], rcx
cmp byte [rax], 0
jne 0x14009a828
mov eax, dword [0x1401d94b8]
xor eax, 0x9efe5760
mov ecx, dword [0x1401d94bc]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x5cf99503
xor ecx, 0x94594568
add eax, ecx
or eax, 0xb7fd5794
mov r8d, 0xffffffff
xor r8d, 0x12499214
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xf292601e
xor r8d, 0xe0dbf20a
mov edx, eax
and edx, r8d
mov r8d, 0xe9c2adc0
xor r8d, 0xfb8b3fd4
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x275026c5
jbe 0x14009a831
mov rax, qword [rbp + 0x18]
mov ecx, dword [0x1401d94c0]
add ecx, dword [0x1401d94c4]
add ecx, 0x9223d9ff
sub ecx, 0x60f06848
mov edx, 0x32d14117
xor edx, 0x9edf2d8b
sub ecx, edx
sub ecx, 0xd764cfdf
mov edx, 0x2beb15b7
xor edx, 0x87e5792b
add ecx, edx
mov dword [rbp + 4], ecx
mov ecx, 0xef73ec
xor ecx, 0x5140f036
mov dword [rbp], ecx
mov rcx, qword [rax]
mov qword [rbp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.14009a870
mov rdx, qword [rbp + 0x68]
mov ecx, dword [rbp]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 4]
mov qword [rbp + 8], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x17], dl
cmp eax, ecx
je 0x14009a1ee
mov al, byte [rbp + 0x17]
test al, 1
jne 0x14009a296
jmp 0x14009a828
mov rdx, qword [rbp + 8]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb048], rax
mov word [rbp + 0x104], 0x126
lea rcx, [rbp + 0x104]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x14009a828
mov eax, dword [0x1401d94c8]
mov ecx, dword [0x1401d94cc]
xor ecx, 0x6e10b508
add eax, ecx
and eax, 0x1461ab
sub eax, 0xa548bb28
xor eax, 0x1803b9e3
cmp eax, 0x46e22bbe
jae 0x14009a83a
mov rcx, qword [rbp + 0x60]
mov eax, dword [0x1401d94d0]
xor eax, 0xbf1242c7
xor edx, edx
div dword [0x1401d94d4]
add eax, 0x7b14ab3e
add eax, 0xc779a636
sub eax, 0x7b14ab3e
and eax, 0x2c0abe36
mov r8d, 0xcf7f7217
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rbp - 0x1c], edx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14009a870
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x1c]
mov qword [rbp - 0x18], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 9], cl
cmp eax, 0x2ad5079d
ja 0x14009a31b
mov al, byte [rbp - 9]
test al, 1
jne 0x14009a3a7
jmp 0x14009a828
mov rdx, qword [rbp - 0x18]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb050], rax
mov ax, 0x3f01
xor ax, 0x3ddc
mov word [rbp + 0x102], ax
lea rcx, [rbp + 0x102]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0xa8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x14009a828
mov eax, dword [0x1401d94d8]
mov r8d, dword [0x1401d94dc]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xd5c4a134
xor r9d, 0x2a3b5ecb
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0xbe091810
mov ecx, 0xa797ccad
xor ecx, 0xd1dbc257
and eax, ecx
sub eax, 0xb44a3569
cmp eax, 0xe780bbe7
je 0x14009a843
mov eax, dword [0x1401d94e0]
mov ecx, dword [0x1401d94e4]
xor ecx, 0x69a7aa80
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x30]
mov ecx, eax
mov r8d, 0xf4374ac0
xor r8d, 0xbc8b53f
mov eax, ecx
xor eax, r8d
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
mov r8d, 0xed25580f
xor r8d, 0x1c9ad02
mov r9d, 0x4bc5a391
xor r9d, 0xb43a5c6e
xor r8d, r9d
or eax, r8d
mov r8d, 0xececf50d
and r8d, 0xececf50d
xor r8d, 0xffffffff
and ecx, r8d
mov r8d, 0x1eb0fdc
xor r8d, 0xfe14f023
xor ecx, r8d
mov r8d, 0x57a60ba5
xor r8d, 0xa859f45a
xor eax, r8d
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x94d65adc
xor ecx, 0x562360b
or eax, ecx
sub eax, 0xfb01b4dc
sub eax, 0xebd07e70
add eax, 0xfb01b4dc
mov dword [rbp - 0x44], eax
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov qword [0x1401fb058], rax
mov ax, 0xbdc0
xor ax, 0xbeaa
mov word [rcx], ax
sub rsp, 0x20
call fcn.14005fe20
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x44]
mov qword [rbp - 0x40], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x5e490bcd
je 0x14009a4a6
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14009a5c9
jmp 0x14009a828
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov qword [rbp + 0x98], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rdx, qword [rbp - 0x50]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb060], rax
mov word [rbp + 0x100], 0x181
lea rcx, [rbp + 0x100]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
mov qword [rbp + 0x88], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x90], rax
lea rcx, [rbp + 0x88]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x60], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rdx, qword [rbp - 0x60]
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [0x1401fb068], rax
mov word [rbp + 0xfe], 0x1d4
lea rcx, [rbp + 0xfe]
sub rsp, 0x20
call fcn.14005fe20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x68], rcx
cmp byte [rax], 0
jne 0x14009a828
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x78], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
lea rcx, [rbp + 0x78]
sub rsp, 0x20
call fcn.14009a870
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x14009a828
mov eax, dword [0x1401d94e8]
or eax, dword [0x1401d94ec]
mov ecx, eax
xor ecx, 0xd3a93742
mov edx, 0xffffffff
xor edx, 0xd3a93742
and eax, edx
shl eax, 1
sub eax, ecx
sub eax, 0xffb19a00
sub eax, 0x4c86037c
mov ecx, 0x9de8bcfe
xor ecx, 0x625926fe
add eax, ecx
mov edx, eax
xor edx, 0x88f6a66a
xor edx, 0xffffffff
mov ecx, 0x3a9f030a
xor ecx, 0xb269a560
and ecx, edx
shl ecx, 1
mov edx, 0x16265280
xor edx, 0x9ed0f4ea
sub ecx, edx
sub eax, ecx
cmp eax, 0x43b9386e
je 0x14009a84c
mov rdx, qword [rbp - 0x70]
mov eax, dword [0x1401d94f0]
mov ecx, dword [0x1401d94f4]
xor ecx, 0xf418608e
sub eax, ecx
mov ecx, 0x90398bb3
xor ecx, 0x44f4e69b
xor eax, ecx
mov ecx, 0xcc9e6c91
xor ecx, 0xcc9e6c91
mov r8d, 0x506bf6c6
xor r8d, 0x14ff5108
sub ecx, r8d
add eax, ecx
and eax, 0x57fe7275
mov dword [rbp - 0x74], eax
mov rax, qword [0x1401eb518]
mov rax, qword [rax]
mov rcx, qword [0x1401fb028]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x74]
mov qword [0x1401fb070], rcx
cmp eax, 0x9ee0be0
jae 0x14009a84c
jmp 0x14009a828
lea rsp, [rbp + 0x110]
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
mov ah, 0xf9
invalid
adc al, 0xfe
cmp eax, 0xfad8e9da
invalid
not bl
pop rbp
jmp 0x14009a4a6
jle 0x14009a845
invalid