Function at 0x1401d9b90
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rcx
mov eax, 0x10
mov qword [rbp + 0x20], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x20]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x30], rax
sub rsp, 0x20
call fcn.1401dd46c
add rsp, 0x20
mov qword [rbp + 0x48], rax
add rax, 0x50
mov qword [rbp + 0x38], rax
movabs rdx, 0x189a331c99941705
movabs rax, 0x189a331c99941701
xor rdx, rax
lea rcx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.1401d48a0
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov word [rcx], 0x483
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x50], rcx
cmp byte [rax + 0x50], 0
jne 0x1401da33c
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x50]
mov rcx, qword [0x140217148]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xa8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xb8]
lea r8, [rbp + 0xa8]
sub rsp, 0x20
call fcn.1401d1330
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov rcx, qword [rbp + 0xb8]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbp + 0xc0]
mov qword [rbp - 0x10], rcx
mov al, byte [rax]
mov cl, 0x7e
xor cl, 0x7e
cmp al, cl
jne 0x1401da33c
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001b4c0
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001dd49
mov rcx, qword [rbp]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov word [rcx], 0x7a9
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x20], rcx
mov al, byte [rax]
mov cl, 0xb5
xor cl, 0xb5
cmp al, cl
jne 0x1401da1df
mov eax, dword [0x14020d1e0]
xor eax, 0x952d9661
mov edx, dword [0x14020d1e4]
xor ecx, ecx
sub ecx, eax
mov eax, 0xb216a59d
xor eax, 0xb216a59d
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0x7b5fded4
sub eax, 0x8d34ae92
sub eax, 0x7b5fded4
mov ecx, 0x609df55
xor edx, edx
div ecx
and eax, 0x81150cbc
cmp eax, 0x3d09a5d0
je 0x1401da4e9
mov ecx, dword [0x14020d1e8]
xor ecx, 0xe4378b46
mov edx, dword [0x14020d1ec]
xor edx, 0x9863d36b
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, edx
mov r8d, 0x539b5847
xor r8d, 0xac64a7b8
xor eax, r8d
and edx, edx
xor edx, 0xffffffff
mov r8d, 0xf87766b7
xor r8d, 0x7889948
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x1473ce06
xor edx, 0xeb8c31f9
xor ecx, edx
or eax, ecx
mov ecx, 0x33fa8656
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x18]
mov ecx, eax
mov rax, qword [rbp - 0x20]
mov r8d, 0xffffffff
xor r8d, 0x907da057
add ecx, r8d
add ecx, 1
sub ecx, 0x3b262358
mov dword [rbp - 0x38], ecx
mov ecx, 0xeda39781
xor ecx, 0x3bfd0c76
mov dword [rbp - 0x3c], ecx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x566
sub rsp, 0x20
call fcn.140068a6b
mov r8, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x38]
mov ecx, dword [rbp - 0x3c]
add rsp, 0x20
mov r9d, eax
mov eax, dword [rbp - 0x38]
mov dword [r8 + 0x10], r9d
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
ja 0x1401d9dcc
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401d9ee9
jmp 0x1401da1df
mov cx, 0xbc94
xor cx, 0xb40e
sub rsp, 0x20
call fcn.140068a6b
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x38]
mov dword [rcx + 0x14], edx
cmp byte [rax], 0
jne 0x1401da1df
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov qword [rax + 8], rcx
mov cx, 0xea91
xor cx, 0xef6b
sub rsp, 0x20
call fcn.140068a6b
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x38]
mov dword [rbp - 0x40], ecx
cmp byte [rax], 0
jne 0x1401da1df
mov r8d, dword [rbp - 0x40]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x10]
mov r9, qword [rbp - 0x18]
mov qword [rbp + 0x88], r9
mov qword [rbp + 0x90], rcx
mov qword [rdx], 1
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x88]
sub rsp, 0x20
call fcn.14015f690
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401da1df
mov rcx, qword [rbp + 8]
mov ax, 0xf613
xor ax, 0xf3db
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1401da1df
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x50]
mov rdx, qword [rax]
mov qword [rbp + 0x78], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x80], rax
lea rdx, [rbp + 0x78]
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x60], rdx
mov qword [rbp + 0x68], rcx
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x58]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x48]
add rsp, 0x20
lea r8, [rbp + 0x68]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x58]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14015f1d0
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x38]
mov dword [rbp - 0x54], ecx
mov al, byte [rax]
mov cl, 0xf4
xor cl, 0xf4
cmp al, cl
jne 0x1401da1df
mov rax, qword [rbp - 0x10]
mov ecx, dword [rbp - 0x54]
mov dword [rbp + 0xc8], ecx
cmp rax, 0
je 0x1401da3f1
mov eax, dword [0x14020d1f0]
mov ecx, dword [0x14020d1f4]
mov edx, 0x6cbb60c2
xor edx, 0xbe1fad04
xor ecx, edx
imul eax, ecx
xor ecx, ecx
sub ecx, 0xf089187d
add eax, ecx
xor eax, 0xffffffff
mov edx, 0x4581cbe
xor edx, 0x4c81dc7a
mov ecx, 0x53e0f1b6
xor ecx, 0xac1f0e49
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x495290a4
or eax, edx
or ecx, 0x495290a4
mov edx, 0x4f3bb2be
xor edx, 0xb0c44d41
xor eax, edx
and eax, ecx
sub eax, 0xdd94e0ea
cmp eax, 0xdab1957
je 0x1401da4f2
mov rcx, qword [rbp - 0x10]
mov eax, dword [str.zG_n]
xor eax, 0xd299e55a
and eax, dword [0x14020d1fc]
mov r9d, 0xffffffff
xor r9d, 0xc08fb51
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x8398016
xor r9d, 0xf7c67fe9
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xc08fb51
mov r9d, 0xc96dc8dc
xor r9d, 0xc565338d
or eax, r9d
imul eax, r8d
add eax, edx
imul eax, eax, 0xf716725
mov edx, 0x99bb72f2
xor edx, 0xba117dfa
sub eax, edx
mov rcx, qword [rcx]
movabs rdx, 0xa3b5457524d84fa4
movabs r8, 0xe3b5457524d84fa4
xor rdx, r8
and rcx, rdx
movabs rdx, 0xa2da3979a43f92a
movabs r8, 0xa2da3979a43f92a
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0x12bf6f5b
je 0x1401da4f2
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1401da1c9
jmp 0x1401da3f1
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
jmp 0x1401da3f1
mov rax, qword [rbp - 0x10]
cmp rax, 0
je 0x1401da33c
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax]
movabs rdx, 0x42c94d48f38aa398
movabs rax, 0x2c94d48f38aa398
xor rdx, rax
movabs rax, 0x477be1be8a3fd330
movabs r8, 0xb8841e4175c02ccf
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xd6a8a42b454b0fa4
movabs rdx, 0xd6a8a42b454b0fa4
xor rcx, rdx
cmp rax, rcx
jne 0x1401da33c
mov ecx, dword [0x14020d200]
mov edx, dword [0x14020d204]
xor edx, 0x320eef5e
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x2cee145a
xor eax, 0x1607cab
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x829a3a40
mov eax, ecx
xor eax, edx
and eax, ecx
add eax, 0x902b912e
mov ecx, 0xa9dde14d
xor ecx, 0xfdccfd3
cmp eax, ecx
je 0x1401da4fb
mov rcx, qword [rbp - 0x10]
mov edx, dword [0x14020d208]
mov eax, dword [0x14020d20c]
xor eax, 0xbb342715
add edx, eax
xor edx, 0x9a3b303b
mov r8d, edx
and r8d, 0xc6ada94f
mov eax, 0x76837511
xor eax, 0x76837513
imul eax, r8d
add edx, 0xc6ada94f
sub edx, eax
mov r8d, 0xffffffff
xor r8d, 0xb2c46822
mov eax, edx
xor eax, r8d
and eax, edx
mov dword [rbp - 0x68], eax
mov eax, 0x75eac2fc
xor eax, 0x6e121877
mov dword [rbp - 0x6c], eax
sub rsp, 0x20
call fcn.14000fb44
mov rdx, qword [rbp + 0x38]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x62], dl
cmp eax, ecx
jb 0x1401da4fb
mov al, byte [rbp - 0x62]
test al, 1
jne 0x1401da3c4
jmp 0x1401da33c
sub rsp, 0x20
call fcn.1401d1397
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401da3b7
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 8]
mov ecx, 0x503793c6
xor ecx, 0x9545b1a7
cmp eax, ecx
jne 0x1401da3b7
mov rax, qword [rbp + 0x38]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401d13a9
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140098850
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401da3f1
sub rsp, 0x20
call fcn.1401d13d6
add rsp, 0x20
mov rax, qword [rbp + 0x38]
cmp byte [rax], 0
jne 0x1401da3f1
mov ecx, 0x7fd
sub rsp, 0x20
call fcn.140068a6b
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x38]
mov dword [rbp - 0x7c], ecx
cmp byte [rax], 0
jne 0x1401da3f1
mov eax, dword [rbp - 0x7c]
mov dword [rbp + 0xc8], eax
mov eax, dword [0x14020d210]
mov ecx, 0xd59358c7
xor ecx, 0xc6e7dc94
xor eax, ecx
mov ecx, dword [0x14020d214]
mov edx, 0x33bde6bf
xor edx, 0x633e6903
xor ecx, edx
xor edx, edx
div ecx
or eax, 0xa2459e7d
mov ecx, 0x5dfb6239
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x2579f3e8
sub eax, ecx
cmp eax, 0xab52327c
ja 0x1401da504
mov eax, dword [0x14020d218]
mov edx, dword [0x14020d21c]
mov r8d, eax
and r8d, edx
mov ecx, 0x42f1ce0
xor ecx, 0x42f1ce2
imul ecx, r8d
add eax, edx
sub eax, ecx
and eax, 0x17864099
xor eax, 0x3ac9e4f6
mov ecx, 0x55782e6
xor ecx, 0xfaa87d19
mov edx, eax
xor edx, ecx
and edx, 0x631cb00f
mov r8d, 0xc7a50e1b
xor r8d, 0xa4b9be14
mov ecx, 0x1030577f
xor ecx, 0xefcfa880
xor r8d, ecx
sub byte [rax + 0x3141efcf], 0xc8
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xb67f0537
xor r8d, 0xd563b538
mov edx, eax
and edx, r8d
or eax, 0x631cb00f
imul eax, edx
add eax, ecx
mov ecx, 0x3b0e2fc4
xor ecx, 0x1ad67252
mov edx, dword [rbp + 0xc8]
mov dword [rbp - 0x80], edx
cmp eax, ecx
sbb cl, byte [rbx + 0xc895]
add byte [rcx - 0x37c67fab], cl
jb 0x1401da43e
mov eax, dword [rbp - 0x80]
lea rsp, [rbp + 0xd0]
pop rbp
ret
sub eax, 0xe9193ba4
invalid
int3
pop rsi
jns 0x1401da4cb
in eax, dx
jmp 0x1401da2a3
loope 0x1401da53f
ja 0x1401da496
jmp 0x1401da43e
call 0x14274b12c
add byte [rax + 0x29], cl
invalid