Function at 0x1401f9110
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rcx
mov eax, 0x10
mov qword [rbp + 0x50], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x50]
mov rcx, rsp
mov qword [rbp + 0x58], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.1401fe28a
add rsp, 0x20
mov qword [rbp + 0x70], rax
add rax, 0x50
mov qword [rbp + 0x68], rax
mov word [rbp + 0x11e], 0xe40
lea rcx, [rbp + 0x11e]
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x78], rcx
mov al, byte [rax + 0x50]
mov cl, 0x15
xor cl, 0x15
cmp al, cl
jne 0x1401f98b6
mov r8, qword [rbp + 0x38]
mov rax, qword [rbp + 0x78]
mov rcx, qword [0x14025a8f8]
mov rdx, qword [rcx]
mov qword [rbp + 0xf8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x100], rcx
mov rcx, qword [rax]
mov qword [r8], rcx
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0xf8]
sub rsp, 0x20
call fcn.1401f47c8
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp + 0x110]
mov qword [rbp + 0x20], rcx
mov al, byte [rax]
mov cl, 0xdc
xor cl, 0xdc
cmp al, cl
jne 0x1401f98b6
movabs rcx, 0x8373b649d2833d28
movabs rax, 0x8373b649d2833d29
xor rcx, rax
movabs rdx, 0x4819c602c6ed80e3
movabs rax, 0x4819c602c6ed80eb
xor rdx, rax
movabs r8, 0x5200e9b184526563
movabs rax, 0x5200e9b18452656b
xor r8, rax
sub rsp, 0x20
call fcn.1400193c0
add rsp, 0x20
mov qword [rbp - 8], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001bdf0
add rsp, 0x20
mov qword [rbp], rax
mov word [rbp + 0x11c], 0x6f0
lea rcx, [rbp + 0x11c]
sub rsp, 0x20
call fcn.140067cc0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp + 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f9854
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
mov qword [rbp + 0xe8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
lea rdx, [rbp + 0xe8]
sub rsp, 0x20
call fcn.14001c002
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x1988
xor cx, 0x16a8
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f9854
mov ecx, 0x38
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f9854
mov eax, dword [0x14024ebb8]
xor eax, dword [0x14024ebbc]
sub eax, 0xa37215c9
mov ecx, 0x1249a602
xor ecx, 0x8d61d2cb
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xaebef71d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xb6da6f63
xor r8d, 0x1864987e
mov edx, eax
and edx, r8d
or eax, 0xaebef71d
imul eax, edx
add eax, ecx
cmp eax, 0x3fcd56a7
jbe 0x1401f9a2f
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov edx, dword [0x14024ebc0]
mov r8d, dword [0x14024ebc4]
mov r9d, 0x20cce456
xor r9d, 0x201b8646
xor r8d, r9d
or edx, r8d
sub edx, 0xae48ce32
sub edx, 0x70a7dfd3
add edx, 0xb78f91cb
add edx, 0x70a7dfd3
mov r8d, 0x3d3d880f
xor r8d, 0x6fb51c2
sub edx, r8d
mov dword [rbp - 0x14], edx
mov qword [rax + 8], rcx
mov ecx, 0x866
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0x14]
mov dword [rbp - 0x10], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 9], cl
cmp eax, 0x8134c6e1
jbe 0x1401f940e
mov cl, byte [rbp - 9]
mov al, 1
test cl, 1
mov byte [rbp + 0x17], al
jne 0x1401f94ad
jmp 0x1401f9854
mov r8d, dword [rbp - 0x10]
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x20]
mov r9, qword [rbp + 0x18]
mov qword [rbp + 0xd8], r9
mov qword [rbp + 0xe0], rcx
mov qword [rdx], 1
mov qword [rdx + 8], rax
lea rcx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140171e34
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f9854
mov rcx, qword [rbp + 0x30]
mov word [rcx], 0x8da
sub rsp, 0x20
call fcn.140067cc0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f9854
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0xb8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc0], rax
lea rcx, [rbp + 0xc8]
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.14001c002
mov r8, qword [rbp + 0x28]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xd0]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x38], r8
mov qword [rax], rdx
mov qword [rax + 8], rcx
lea rcx, [rbp + 0xa8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp + 0x58]
add rsp, 0x20
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0xa8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401718d0
mov rcx, qword [rbp + 0x68]
add rsp, 0x30
mov dword [rbp - 0x2c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f9854
sub rsp, 0x20
mov cx, 0xb18
call fcn.140067b58
mov r8d, dword [rbp - 0x2c]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov al, byte [rax]
test al, al
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x39], al
jne 0x1401f9626
jmp 0x1401f984e
movabs rcx, 0xd5ae51f6c4460441
movabs rax, 0xd5ae51f6c4460471
xor rcx, rax
movabs rdx, 0xcd3d20cafe234104
movabs rax, 0xcd3d20cafe23410c
xor rdx, rax
sub rsp, 0x20
call fcn.14001bdf0
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov qword [rax], 0
mov ecx, 0x4ece375
xor ecx, 0x4ece374
mov dword [rax + 8], ecx
mov cx, 0xebbe
xor cx, 0xed39
sub rsp, 0x20
call fcn.140068370
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x58]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401f980c
movabs rcx, 0xa7caf94a843e58f7
movabs rax, 0xa7caf94a843e58d7
xor rcx, rax
movabs rdx, 0xcd32ae08d1ef1d2
movabs rax, 0xcd32ae08d1ef1da
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov word [rbp + 0xa6], 0x42f
lea rcx, [rbp + 0xa6]
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x60], rcx
mov dl, byte [rax]
mov r8b, 0x28
xor r8b, 0x28
mov cl, 1
xor eax, eax
cmp dl, r8b
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401f980c
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov qword [rbp + 0x80], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14001c002
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x68]
add rsp, 0x20
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.14007a830
mov r8, qword [rbp + 0x60]
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rcx + 0x10], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
jne 0x1401f980c
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0x28]
mov rcx, qword [0x14025a178]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x14025a180]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.1400269a1
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x49], cl
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x68]
mov dl, byte [rbp - 0x49]
mov rcx, qword [rbp - 0x48]
mov byte [rbp - 0x69], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f1cc0
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x99
xor dl, 0x99
mov al, 1
cmp cl, dl
mov byte [rbp - 0x39], al
jne 0x1401f984e
mov al, byte [rbp - 0x69]
mov rcx, qword [rbp + 0x68]
mov byte [rcx], al
mov byte [rbp - 0x39], al
mov al, byte [rbp - 0x39]
mov byte [rbp + 0x17], al
mov rcx, qword [rbp + 0x20]
mov al, byte [rbp + 0x17]
mov byte [rbp - 0x6b], al
cmp rcx, 0
mov byte [rbp - 0x6a], al
je 0x1401f98a6
mov al, byte [rbp - 0x6b]
mov rdx, qword [rbp + 0x20]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov byte [rbp - 0x6a], al
jne 0x1401f98a6
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000f4df
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x6a]
mov cl, 0x4c
xor cl, 0x4c
cmp al, cl
je 0x1401f9a26
sub rsp, 0x20
call fcn.1401f482f
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401f9a26
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x852e2200
xor ecx, 0x405c0061
cmp eax, ecx
jne 0x1401f9a26
mov rax, qword [rbp + 0x68]
mov cl, 0xa2
xor cl, 0xa2
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401f4841
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009c190
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401f9a26
mov eax, dword [0x14024ebc8]
mov ecx, 0x5ae0e5ab
xor ecx, 0x3c8dcfa6
xor eax, ecx
sub eax, dword [0x14024ebcc]
mov ecx, 0x8967cf64
xor edx, edx
div ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x83f327ec
mov ecx, 0xffffffff
xor ecx, 0xd621ba41
or eax, edx
or ecx, 0xd621ba41
xor eax, 0xffffffff
and eax, ecx
xor ecx, ecx
sub ecx, 0xb6b97556
sub eax, ecx
cmp eax, 0x88f087ac
jb 0x1401f9a38
mov r8d, dword [0x14024ebd0]
mov eax, dword [0x14024ebd4]
mov ecx, 0x69bf2f47
xor ecx, 0x8beb9706
xor eax, ecx
imul r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xff3f3723
mov edx, 0x4c9f4283
xor edx, 0xb3a075a0
mov ecx, 0xdf16b017
xor ecx, 0x20e94fe8
xor edx, ecx
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xe8aa7095
mov r9d, 0xfe226704
xor r9d, 0x11d5027
and ecx, r9d
and edx, 0xe8aa7095
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd4f5c5a3
xor edx, edx
div ecx
mov ecx, 0xa4cb269
xor edx, edx
div ecx
mov dword [rbp - 0x7c], eax
sub rsp, 0x20
call fcn.1401f4895
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, 0x273e3ef3
jae 0x1401f9a38
jmp 0x1401f9a26
lea rsp, [rbp + 0x120]
pop rbp
ret
jge 0x1401f9a1b
test al, 0x4a
jmp 0x1401f940e
mov eax, 0xe9b85307
invalid