Function at 0x1401ce380
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x158
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], rcx
mov eax, 0x10
mov qword [rbp + 0x38], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x38]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x48], rax
sub rsp, 0x20
call fcn.1401d1020
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x60], rax
add rax, 0x50
mov qword [rbp + 0x58], rax
mov edx, 4
sub rsp, 0x20
call fcn.1401c9ca3
add rsp, 0x20
mov ax, 0xd9fd
xor ax, 0xdbf2
mov word [rbp + 0xd6], ax
lea rcx, [rbp + 0xd6]
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x68], rcx
cmp byte [rax + 0x50], 0
jne 0x1401ceb28
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x68]
mov r8, qword [0x140209348]
mov r9, qword [r8]
mov qword [rdx], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 8], r8
mov r8, qword [rax]
mov qword [rbp + 0xc0], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0xc8], rax
lea r8, [rbp + 0xc0]
sub rsp, 0x20
call fcn.1401c7150
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp - 8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x1401ceb28
movabs rcx, 0x78b00f321c6d44f
movabs rax, 0x78b00f321c6d44e
xor rcx, rax
movabs rdx, 0xc5167a4dda5a01a0
movabs rax, 0xc5167a4dda5a01a8
xor rdx, rax
movabs r8, 0xba8719f723e73a3e
movabs rax, 0xba8719f723e73a36
xor r8, rax
sub rsp, 0x20
call fcn.140019910
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001c310
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov qword [rbp - 0x18], rax
mov word [rcx], 0x307
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x10], rcx
cmp byte [rax], 0
jne 0x1401ce8f8
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14001c672
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x40e5
xor cx, 0x464d
sub rsp, 0x20
call fcn.140064060
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x58]
mov dword [rcx + 0x10], edx
mov al, byte [rax]
mov cl, 0x76
xor cl, 0x76
cmp al, cl
jne 0x1401ce8f8
mov ecx, dword [0x1401ff690]
xor ecx, 0x34d88ade
mov eax, dword [0x1401ff694]
xor eax, 0x2ca63f11
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xef0376bb
mov edx, 0xffffffff
xor edx, 0xef0376bb
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xcdd41f47
xor edx, 0x322be0b8
xor ecx, edx
or eax, ecx
add eax, 0xd5f03ce8
add eax, 0xc421a5f9
sub eax, 0xd5f03ce8
mov r8d, 0xfc99c786
xor r8d, 0x674e7fba
mov ecx, 0x417e101a
xor ecx, 0xbe81efe5
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9bd7b83c
or eax, 0x9bd7b83c
imul eax, edx
add eax, ecx
cmp eax, 0xd1a1b7ac
jae 0x1401cee1a
mov eax, dword [0x1401ff698]
xor eax, 0x782480f9
add eax, dword [0x1401ff69c]
mov ecx, 0x6f5d239a
xor ecx, 0xa125c40c
sub eax, ecx
add eax, 0xfdc5aaea
add eax, 0xce78e796
mov ecx, 0x9ca5e90f
xor edx, edx
div ecx
add eax, 0x957ab814
mov dword [rbp - 0x28], eax
mov ecx, 0x6bd
sub rsp, 0x20
call fcn.140064060
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x58]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x28]
mov dword [rdx + 0x14], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0xfd77eb0d
je 0x1401ce6bb
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1401ce73c
jmp 0x1401ce8f8
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
mov qword [rax + 8], rcx
mov ecx, 0x9c1
sub rsp, 0x20
call fcn.140064060
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x58]
mov dword [rbp - 0x2c], ecx
mov al, byte [rax]
mov cl, 0xe9
xor cl, 0xe9
cmp al, cl
jne 0x1401ce8f8
mov r8d, dword [rbp - 0x2c]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x20]
mov rdx, qword [rbp]
mov r9, qword [rbp - 8]
mov qword [rcx], r9
mov qword [rcx + 8], rdx
mov qword [rbp + 0xa0], 1
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.140154ae0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x38], rcx
mov al, byte [rax]
mov cl, 0x42
xor cl, 0x42
cmp al, cl
jne 0x1401ce8f8
mov rcx, qword [rbp + 0x18]
mov word [rcx], 0x514
sub rsp, 0x20
call fcn.140063b00
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x1401ce8f8
mov rax, qword [rbp - 0x40]
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.14001c672
mov r8, qword [rbp + 8]
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov rdx, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x50], r8
mov qword [rbp + 0x70], rdx
mov qword [rbp + 0x78], rax
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x38]
mov rax, qword [rbp + 0x48]
add rsp, 0x20
lea r8, [rbp + 0x70]
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140154690
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x58]
mov dword [rbp - 0x44], ecx
cmp byte [rax], 0
jne 0x1401ce8f8
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x50]
mov edx, dword [rbp - 0x44]
mov dword [rcx], edx
cmp rax, 0
je 0x1401cee0a
mov rax, qword [rbp]
mov rax, qword [rax]
movabs rcx, 0xb00fbffbb65703c4
movabs rdx, 0xf00fbffbb65703c4
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1401cee0a
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
jmp 0x1401cee0a
mov rax, qword [rbp]
cmp rax, 0
je 0x1401ceb28
mov rax, qword [rbp]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
movabs rcx, 0x978a7c19df544d62
movabs r8, 0xab382b3212a50d1f
xor rcx, r8
movabs r8, 0xb85a7c32eb8bf9f8
movabs r9, 0x47a583cd14740607
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0x3cb2572bcdf1407d
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x9c1c02e6aedfdcbd
movabs rdx, 0x9c1c02e6aedfdcbd
xor rcx, rdx
cmp rax, rcx
jne 0x1401ceb28
mov ecx, dword [0x1401ff6a0]
mov eax, dword [0x1401ff6a4]
mov edx, 0xa3389601
xor edx, 0x5cc769fe
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc5762759
or ecx, eax
mov eax, 0x29591aa8
xor eax, 0xec2f3df1
or eax, edx
xor ecx, 0xffffffff
and ecx, eax
add ecx, 0x76673cf7
add ecx, 0xfe6863aa
mov eax, 0x4356679b
xor eax, 0x35315b6c
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xf6b99d63
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xcf55b593
xor edx, 0x39ec28f0
mov r8d, 0x22c79d3b
xor r8d, 0xdd3862c4
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0x1f4f40f7
cmp eax, 0xee7d760f
jae 0x1401cee23
mov rcx, qword [rbp]
mov esi, dword [0x1401ff6a8]
mov r11d, dword [0x1401ff6ac]
mov edx, esi
xor edx, 0xffffffff
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xc2054ad
mov eax, edx
and eax, 0xc2054ad
and esi, r8d
mov r10d, r9d
and r10d, 0xc2054ad
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0xc2054ad
and edx, r8d
or eax, edx
and eax, 0xe1a0163d
and eax, 0xbb485a41
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x124a2c95
mov r9d, 0x2f567d1b
xor r9d, 0x3d1c518e
mov edx, 0xd4f935a4
xor edx, 0x2b06ca5b
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x124a2c95
mov r9d, 0xcdb3bc2f
xor r9d, 0xdff990ba
or eax, r9d
imul eax, r8d
add eax, edx
mov dword [rbp - 0x58], eax
mov eax, 0x9caf1163
xor eax, 0x9f87f2ce
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.14000f935
mov rdx, qword [rbp + 0x58]
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
jb 0x1401cee23
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1401ceddd
jmp 0x1401ceb28
sub rsp, 0x20
call fcn.1401c725c
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp word [rax + 0x12], 1
jle 0x1401cec1c
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401cec1c
mov rax, qword [rbp + 0x58]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401c726e
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140093060
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x46
xor cl, 0x46
cmp al, cl
jne 0x1401cee0a
mov eax, dword [0x1401ff6b0]
and eax, dword [0x1401ff6b4]
xor eax, 0x96cbe4f4
mov ecx, 0xdb4dd470
xor ecx, 0x31b73e6a
and eax, ecx
mov ecx, 0x497d85cf
xor edx, edx
div ecx
cmp eax, 0x16e82ac8
ja 0x1401cee2c
mov eax, dword [0x1401ff6b8]
xor edx, edx
div dword [0x1401ff6bc]
xor eax, 0xbc137e94
sub eax, 0x14068c69
add eax, 0x2239326
add eax, 0x4cda3e9d
sub eax, 0x2239326
mov dword [rbp - 0x6c], eax
mov eax, 0xd47d27f1
xor eax, 0xc81fe119
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.1401c72c2
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
jb 0x1401cee2c
jmp 0x1401cec1c
mov eax, dword [0x1401ff6c0]
xor eax, 0xb17f3f25
xor eax, dword [0x1401ff6c4]
add eax, 0x50710db6
mov ecx, 0x733d2f0f
xor ecx, 0x6e935475
add eax, ecx
sub eax, 0x50710db6
and eax, 0xb6f2074d
xor ecx, ecx
sub ecx, eax
mov eax, 0xd080bce4
xor eax, 0xd080bce4
mov edx, 0xbb303782
xor edx, 0x3ed52d0f
sub eax, edx
add ecx, eax
mov eax, 0x3c0a1f60
xor eax, 0x3c0a1f60
sub eax, ecx
mov ecx, 0x8a992d7f
xor ecx, 0xee9278ad
cmp eax, ecx
jbe 0x1401cee35
mov rcx, qword [rbp + 0x58]
mov edx, dword [0x1401ff6c8]
xor edx, 0x564a316b
mov r8d, dword [0x1401ff6cc]
xor r8d, 0x97361eea
mov r9d, 0x4d7aae1
xor r9d, 0xfb28551e
mov eax, edx
xor eax, r9d
mov r10d, 0xc413c1c6
xor r10d, 0x3bec3e39
mov r9d, r8d
xor r9d, r10d
and eax, r9d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0x17047182
xor r8d, 0xe8fb8e7d
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0x42377af7
xor edx, 0xc537d3c8
mov r8d, 0x66d81bda
xor r8d, 0x9927e425
xor edx, r8d
add eax, edx
add eax, 1
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x765ef782
mov r9d, 0xffffffff
xor r9d, 0x765ef782
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xb7628771
xor r9d, 0xc13c70f3
mov r8d, eax
and r8d, r9d
mov r9d, 0xd5048ea7
xor r9d, 0xa35a7925
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x588344c2
xor r8d, 0xa77cbb3d
mov edx, eax
xor edx, r8d
mov r8d, 0xb17e45dc
xor r8d, 0xf09b522c
and r8d, edx
mov r9d, 0xe0fb2ba5
xor r9d, 0xa11e3c55
mov edx, 0x242960d3
xor edx, 0xdbd69f2c
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x41e517f0
mov r9d, 0x7314d8e1
xor r9d, 0x32f1cf11
or eax, r9d
imul eax, r8d
add eax, edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0x966af952
je 0x1401cec85
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401ceddd
jmp 0x1401cee0a
mov ecx, 0x68f
sub rsp, 0x20
call fcn.140064060
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x58]
mov dword [rbp - 0x78], ecx
cmp byte [rax], 0
jne 0x1401cee0a
mov rax, qword [rbp + 0x50]
mov ecx, dword [rbp - 0x78]
mov dword [rax], ecx
mov rax, qword [rbp + 0x50]
mov eax, dword [rax]
lea rsp, [rbp + 0xd8]
pop rsi
pop rbp
ret
mov ecx, edi
xchg esp, eax
add al, 0xe9
cwde
clc
invalid
adc eax, dword [rdi - 0x71]
adc cl, ch
std
sti
invalid
lodsb al, byte [rsi]
push rdi
cwde
xchg esi, eax
jmp 0x1401cebc5
invalid