Function at 0x1401d1140
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140298cb8]
xor rax, rsp
mov qword [rbp], rax
mov r15, rdx
mov rsi, rcx
mov rax, qword [rdx]
lea rdx, [rsp + 0x30]
mov rcx, r15
call qword [rax + 0x90]
mov r12, qword [rax + 8]
xor ebx, ebx
mov edi, ebx
mov rcx, rsi
call fcn.14002ef60
cmp eax, 0xb
jne 0x1401d12ec
mov rcx, rsi
call fcn.1401949d0
test al, al
je 0x1401d12ec
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2430
mov r14, rax
mov rcx, rax
call fcn.1401f0720
test al, al
je 0x1401d12ec
mov r8, rsi
mov rdx, r15
lea rcx, [rsp + 0x60]
call fcn.1401bfa00
nop
mov r8, rsi
mov rdx, r15
lea rcx, [rbp - 0x50]
call fcn.1401bfa00
nop
mov rcx, rsi
call fcn.140194a80
mov r15, qword [rax + 0x28]
mov rcx, rsi
call fcn.140194a80
mov rsi, qword [rax + 0x28]
mov rax, qword [r14]
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [rax + 0x28]
mov rax, qword [r14]
lea rdx, [rbp - 0x50]
mov rcx, r14
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x60]
call qword [rax + 0x20]
test al, al
jne 0x1401d12a7
nop word [rax + rax]
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.1401d31b0
lea rbx, [rax + 2]
lea rdx, [rbp - 0x68]
lea rcx, [rsi + 0x98]
call fcn.1401d3450
add rbx, rax
mov ecx, ebx
or ecx, 1
bsr edx, ecx
lea edx, [rdx + rdx*8]
add edx, 0x49
shr rdx, 6
add rdx, rbx
add rdi, rdx
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + 0x88]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rbp - 0x50]
lea rdx, [rsp + 0x60]
call qword [rax + 0x20]
test al, al
je 0x1401d1240
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
lea rdx, [rbp - 0x50]
call qword [rax + 0x78]
cmp dword [rbp - 0x20], 9
jne 0x1401d12c5
lea rcx, [rbp - 0x40]
call fcn.140002200
nop
mov rcx, qword [rsp + 0x68]
mov r8, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [r8 + 0x78]
cmp dword [rbp - 0x70], 9
jne 0x1401d12e7
lea rcx, [rsp + 0x70]
call fcn.140002200
nop
jmp case.default.0x1401d1360
cmp dword [rsi + 0x3c], 3
jne 0x1401d1305
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c1990
mov r14d, eax
jmp 0x1401d133a
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0x20]
cmp byte [rcx + 0x4b], bl
je 0x1401d131a
mov r14d, 1
jmp 0x1401d133a
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c3a20
mov rcx, rbx
mov r14d, 1
test al, al
cmovne rcx, r14
mov r14, rcx
mov rcx, rsi
call fcn.14002ef60
dec eax
cmp eax, 0x11
ja case.default.0x1401d1360
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x1d1848]
add rcx, rdx
jmp rcx
cmp dword [rsi + 0x3c], 3
jne 0x1401d13af
test r14, r14
je case.default.0x1401d1360
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2c90
test eax, eax
jns 0x1401d138d
mov eax, 0xa
jmp 0x1401d139d
or eax, 1
bsr eax, eax
lea eax, [rax + rax*8]
add eax, 0x49
shr rax, 6
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d1371
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2280
test eax, eax
jns 0x1401d13cb
mov edi, 0xa
jmp case.default.0x1401d1360
or eax, 1
bsr eax, eax
jmp 0x1401d14aa
cmp dword [rsi + 0x3c], 3
jne 0x1401d1425
test r14, r14
je case.default.0x1401d1360
nop word [rax + rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2d70
or rax, 1
bsr rcx, rax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d13f0
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2350
or rax, 1
bsr rcx, rax
lea edi, [rcx*8 + 0x49]
add edi, ecx
jmp 0x1401d14b3
cmp dword [rsi + 0x3c], 3
jne 0x1401d148d
test r14, r14
je case.default.0x1401d1360
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2c90
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
or ecx, 1
bsr eax, ecx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d1451
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2280
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
or ecx, 1
bsr eax, ecx
lea edi, [rax*8 + 0x49]
add edi, eax
shr rdi, 6
mov rax, rdi
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1401f42a0
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsi + 0x3c], 3
jne 0x1401d1532
test r14, r14
je case.default.0x1401d1360
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2d70
mov rcx, rax
sar rcx, 0x3f
add rax, rax
xor rcx, rax
or rcx, 1
bsr rax, rcx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d14f0
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2350
mov rcx, rax
sar rcx, 0x3f
add rax, rax
xor rcx, rax
or rcx, 1
bsr rax, rcx
jmp 0x1401d14aa
cmp dword [rsi + 0x3c], 3
jne 0x1401d15a3
test r14, r14
je case.default.0x1401d1360
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c3130
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d1570
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c34f0
or eax, 1
bsr ecx, eax
lea edi, [rcx*8 + 0x49]
add edi, ecx
jmp 0x1401d14b3
cmp dword [rsi + 0x3c], 3
jne 0x1401d1609
test r14, r14
je case.default.0x1401d1360
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c3210
or rax, 1
bsr rcx, rax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d15d4
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c35c0
jmp 0x1401d1433
lea rdi, [r14*4]
jmp case.default.0x1401d1360
lea rdi, [r14*8]
jmp case.default.0x1401d1360
mov rdi, r14
jmp case.default.0x1401d1360
cmp dword [rsi + 0x3c], 3
jne 0x1401d167c
test r14, r14
je case.default.0x1401d1360
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2e50
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d1650
jmp case.default.0x1401d1360
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c24a0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
mov rdi, rax
jmp case.default.0x1401d1360
cmp dword [rsi + 0x3c], 3
jne 0x1401d16f1
test r14, r14
je case.default.0x1401d1360
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c2e50
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
mov ecx, eax
or ecx, 1
bsr edx, ecx
lea edx, [rdx + rdx*8]
add edx, 0x49
shr rdx, 6
add rdx, rax
add rdi, rdx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d16b0
jmp case.default.0x1401d1360
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c24a0
mov rcx, rax
call fcn.1401cccc0
mov rdi, rax
jmp case.default.0x1401d1360
cmp dword [rsi + 0x3c], 3
jne 0x1401d1762
test r14, r14
je case.default.0x1401d1360
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c29e0
mov ecx, dword [rax + 0x10]
test ecx, ecx
jns 0x1401d1740
mov eax, 0xa
jmp 0x1401d1750
or ecx, 1
bsr eax, ecx
lea eax, [rax + rax*8]
add eax, 0x49
shr rax, 6
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x1401d1721
jmp case.default.0x1401d1360
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.1401c1db0
mov ecx, dword [rax + 0x10]
test ecx, ecx
js 0x1401d13c1
jmp 0x1401d14a4
mov r13d, ebx
test r14, r14
je case.default.0x1401d1360
nop dword [rax]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov r8, rsi
mov rdx, r15
mov rcx, r12
cmp dword [rsi + 0x3c], 3
jne 0x1401d17cb
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, r13d
call fcn.1401c3050
jmp 0x1401d17d5
lea r9, [rsp + 0x40]
call fcn.1401c33f0
mov rdx, qword [rax + 0x10]
mov eax, edx
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rcx, rdx
add rdi, rcx
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1401d182a
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401d1825
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401d183e
call fcn.1401f41fc
inc r13d
movsxd rax, r13d
cmp rax, r14
jae case.default.0x1401d1360
jmp 0x1401d1790
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3