Function at 0x1401d56d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.1401dd46c
add rsp, 0x20
mov qword [rbp + 0x58], rax
add rax, 0x50
mov qword [rbp + 0x50], rax
mov word [rbp + 0x11e], 0x272
lea rcx, [rbp + 0x11e]
sub rsp, 0x20
call fcn.1400684a0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x60], rcx
cmp byte [rax + 0x50], 0
jne 0x1401d5ee1
mov rax, qword [rbp + 0x60]
mov rcx, qword [str.Xy__]
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 [rbp + 0xe8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1401d1330
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0x10], rcx
mov rcx, qword [rbp + 0x110]
mov qword [rbp + 0x18], rcx
cmp byte [rax], 0
jne 0x1401d5ee1
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001b4c0
add rsp, 0x20
mov qword [rbp - 0x10], rax
movabs rcx, 0xda05065c4677f9ba
movabs rax, 0xda05065c4677f9a2
xor rcx, rax
movabs rdx, 0xe37712f052cfe417
movabs rax, 0xe37712f052cfe41f
xor rdx, rax
sub rsp, 0x20
call fcn.14001dd49
add rsp, 0x20
mov qword [rbp - 8], rax
mov word [rbp + 0x11c], 0x2bd
lea rcx, [rbp + 0x11c]
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xe0]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x48c2
xor cx, 0x4f61
sub rsp, 0x20
call fcn.140068a6b
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov ecx, 0x1d1
sub rsp, 0x20
call fcn.140068a6b
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp - 8]
mov dword [rax + 0x14], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov qword [rax + 8], rcx
mov ecx, 0x3e8
sub rsp, 0x20
call fcn.140068a6b
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x50]
mov dword [rbp - 0x14], ecx
mov cl, byte [rax]
mov dl, 0xf
xor dl, 0xf
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov r8d, dword [rbp - 0x14]
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x10]
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], rcx
movabs rcx, 0x572404ae8837265c
movabs rdx, 0x572404ae8837265d
xor rcx, rdx
mov qword [rbp + 0xa8], rcx
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xb8]
lea rdx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14015f690
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov word [rbp + 0x11a], 0x880
lea rcx, [rbp + 0x11a]
sub rsp, 0x20
call fcn.1400684a0
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x28], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x28]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001dec2
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x38], rdx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rax
lea rcx, [rbp + 0x88]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
lea r8, [rbp + 0x98]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x88]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14015f1d0
mov rcx, qword [rbp + 0x50]
add rsp, 0x30
mov dword [rbp - 0x2c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf], al
jne 0x1401d5d3c
mov ecx, dword [0x14020d050]
mov edx, dword [0x14020d054]
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xca008caf
add eax, 0x77bc60d
add eax, 0xf9ef2ad
mov ecx, 0x500eb5ce
xor ecx, 0x7b93bb6a
cmp eax, ecx
jb 0x1401d603f
mov eax, dword [0x14020d058]
mov ecx, dword [0x14020d05c]
sub eax, ecx
xor eax, 0x3a020361
and eax, 0x3a934b75
add eax, 0x18112c7b
mov dword [rbp - 0x40], eax
sub rsp, 0x20
mov cx, 0x3e7
call fcn.140068140
mov rcx, qword [rbp + 0x50]
mov r8d, dword [rbp - 0x2c]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x40]
mov cl, byte [rcx]
mov byte [rbp - 0x3a], cl
test cl, cl
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
mov byte [rbp - 0x39], cl
cmp eax, 0x70491864
je 0x1401d5b06
mov al, byte [rbp - 0x3a]
mov cl, byte [rbp - 0x39]
test cl, 1
mov byte [rbp - 0x41], al
jne 0x1401d5b7f
jmp 0x1401d5d36
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001dd49
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0x92b
sub rsp, 0x20
call fcn.140068a6b
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x60]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401d5cf0
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140014320
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov qword [rbp - 0x70], rax
mov word [rcx], 0x29e
sub rsp, 0x20
call fcn.1400684a0
mov rdx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401d5cf0
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x68], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.14001dec2
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp - 0x70]
add rsp, 0x20
mov r8, qword [rbp + 0x78]
mov rax, qword [rbp + 0x80]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.140076d37
mov r8, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x70]
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 - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401d5cf0
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x20]
mov rcx, qword [0x1402169f8]
mov qword [rdx + 0x20], rcx
mov rcx, qword [str._bj__]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.14002a2b0
mov rcx, qword [rbp + 0x50]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x50]
mov dl, byte [rbp - 0x51]
mov rcx, qword [rbp - 0x50]
mov byte [rbp - 0x71], dl
mov dl, 0xce
xor dl, 0xce
mov byte [rax], dl
sub rsp, 0x20
call fcn.1401ceb67
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x57
xor dl, 0x57
mov al, 1
cmp cl, dl
mov byte [rbp - 0x41], al
jne 0x1401d5d36
mov al, byte [rbp - 0x71]
mov rcx, qword [rbp + 0x50]
mov byte [rcx], al
mov byte [rbp - 0x41], al
mov al, byte [rbp - 0x41]
mov byte [rbp + 0xf], al
mov rcx, qword [rbp + 0x18]
mov al, byte [rbp + 0xf]
mov byte [rbp - 0x73], al
cmp rcx, 0
mov byte [rbp - 0x72], al
je 0x1401d5ed6
mov ecx, dword [0x14020d060]
mov eax, 0xe27c79c7
xor eax, 0xd9a3fba6
xor ecx, eax
mov r8d, dword [0x14020d064]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0xb33ea2f8
xor eax, 0xec58c4ea
and ecx, eax
mov eax, 0x10490136
xor eax, 0xefb6fec9
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x66ac59e4
mov eax, 0xffffffff
xor eax, 0x31f2d5c9
or ecx, edx
or eax, 0x31f2d5c9
xor ecx, 0xffffffff
and ecx, eax
mov edx, 0x5f634785
xor edx, 0xa09cb87a
mov eax, ecx
xor eax, edx
mov edx, 0x23a9a1b4
xor edx, 0x377149eb
mov r8d, 0xb2a6b3c4
xor r8d, 0x4d594c3b
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x14d8e85f
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xdd26ce16
xor edx, 0x22d931e9
xor ecx, edx
and eax, ecx
cmp eax, 0x483dd5a0
ja 0x1401d6048
mov eax, dword [0x14020d068]
xor edx, edx
div dword [0x14020d06c]
mov ecx, 0xadeba726
xor ecx, 0x624e4f1d
and ecx, eax
mov edx, 0x7559b3a5
xor edx, 0x8aa64c5a
xor ecx, edx
add eax, 0xcfa5e83b
mov edx, 0xe21fcba9
xor edx, 0xe21fcba8
add eax, edx
add eax, ecx
mov ecx, 0x602550fd
xor ecx, 0x9dc40cf1
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x18]
mov ecx, eax
and ecx, 0x1796750b
shl ecx, 1
add eax, 0x1796750b
sub eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x74], cl
cmp eax, 0x7de3062a
ja 0x1401d5e22
mov al, byte [rbp - 0x73]
mov cl, byte [rbp - 0x74]
test cl, 1
mov byte [rbp - 0x72], al
jne 0x1401d5ebc
jmp 0x1401d5ed6
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14000fb44
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x72], al
mov al, byte [rbp - 0x72]
cmp al, 0
je 0x1401d5f57
sub rsp, 0x20
call fcn.1401d1397
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp word [rax + 0x12], 1
jle 0x1401d5f57
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401d5f57
mov rax, qword [rbp + 0x50]
mov cl, 0x54
xor cl, 0x54
mov byte [rax], cl
sub rsp, 0x20
call fcn.1401d13a9
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140098850
mov rax, qword [rbp + 0x50]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401d5f57
sub rsp, 0x20
call fcn.1401d13d6
add rsp, 0x20
mov eax, dword [0x14020d070]
xor eax, 0x4df81bf7
mov r8d, dword [0x14020d074]
mov edx, 0x8bd6532e
xor edx, 0x7429acd1
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xda3dd857
xor ecx, 0x1a8c2dcd
or eax, ecx
sub eax, 0xa3723afe
add eax, 0x9b27c867
add eax, 0xa3723afe
mov ecx, 0x99965301
xor ecx, 0x6669acfe
mov edx, eax
xor edx, ecx
and edx, 0xcc6555d6
mov r8d, 0xffffffff
xor r8d, 0xcc6555d6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xcc6555d6
or eax, 0xcc6555d6
imul eax, edx
add eax, ecx
mov ecx, 0xa5987dce
xor ecx, 0xc104adc5
cmp eax, ecx
jae 0x1401d6051
mov eax, dword [0x14020d078]
xor eax, dword [0x14020d07c]
mov ecx, 0x9ac4e2ad
xor ecx, 0xb12be72b
sub eax, ecx
or eax, 0x671f7c0d
mov ecx, 0xb52a48a2
xor edx, edx
div ecx
cmp eax, 0xc349f921
je 0x1401d6051
lea rsp, [rbp + 0x120]
pop rbp
ret
invalid
lodsb al, byte [rsi]
jae 0x1401d6070
call fcn.1401b3239
call rax
movabs byte [0x66ffffffaae9b053], al
nop dword [rax + rax]
shl byte [rdx - 0x55164fad], 1
invalid