Function at 0x1400cd9b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rax, qword [rcx]
test rax, rax
je 0x1400ce110
mov rsi, rcx
cmp eax, 1
jne 0x1400cdf37
lea rax, [rsi + 8]
mov qword [rsp + 0x20], rax
lea r12, [rsi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dd6d98]
and eax, dword [0x141dd6d9c]
add eax, 0xba79bac2
and eax, 0xebdf7df0
add eax, 0x75c9b92e
cmp eax, 0xd5b41f3c
ja 0x1400cd9f0
mov rax, qword [rsp + 0x20]
mov r15, qword [rax]
test r15, r15
je 0x1400cdd40
nop word cs:[rax + rax]
mov eax, dword [0x141dd6da0]
xor edx, edx
div dword [0x141dd6da4]
imul eax, eax, 0x937c7e00
cmp eax, 0x600743c4
je 0x1400cda30
mov rax, qword [rsi + 0x18]
mov r8d, 0x9a9309e7
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rsi
nop
mov ecx, dword [0x141dd6da8]
or ecx, dword [0x141dd6dac]
xor ecx, 0x1ff60175
add ecx, 0xb760aff0
or ecx, 0x8e76f844
cmp ecx, 0x944fd537
jne 0x1400cdab0
mov rcx, qword [r15 + 0x18]
lea rdx, [rcx + 0x20]
test rcx, rcx
cmove rdx, r12
mov qword [rsi + 8], rcx
mov qword [rdx], 0
lea rcx, [rax - 1]
mov qword [rsi + 0x18], rcx
nop dword [rax + rax]
mov ecx, dword [0x141dd6db0]
imul ecx, dword [0x141dd6db4]
imul rcx, r8
shr rcx, 0x3f
mov rdi, qword [r15 + 0x18]
lea rdx, [rdi + 0x20]
test rdi, rdi
cmove rdx, r12
lea r13, [rax - 1]
mov qword [rsi + 8], rdi
mov qword [rdx], 0
mov qword [rsi + 0x18], r13
cmp ecx, 0x1d3575af
je 0x1400cdab0
mov rbx, qword [r15 + 8]
mov rbp, qword [r15 + 0x10]
test rbp, rbp
je 0x1400cdb14
mov r14, rbx
nop
mov rcx, r14
call fcn.1400c96b0
add r14, 0x158
dec rbp
jne 0x1400cdb00
mov eax, dword [0x141dd6db8]
add eax, dword [0x141dd6dbc]
imul eax, eax, 0x4c6a7470
cmp eax, 0x6690656a
je 0x1400cdb14
mov rax, qword [r15]
xor ecx, ecx
mov rbp, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
test cl, cl
jne 0x1400cdb40
test rax, rax
je 0x1400cdc2f
mov eax, dword [0x141dd6dc0]
xor edx, edx
div dword [0x141dd6dc4]
add eax, 0x2c6fa85a
and eax, 0x8612c6fe
cmp eax, 0xa7f968cd
jne 0x1400cdb80
mov rax, qword [0x141ddb260]
nop word cs:[rax + rax]
mov eax, dword [0x141dd6dc8]
imul eax, dword [0x141dd6dcc]
xor eax, 0x460c3ad5
imul eax, eax, 0x3f031d81
mov r14, qword [0x141ddb260]
cmp eax, 0x90d62133
jb 0x1400cdb80
mov eax, dword [0x141dd6dd0]
xor eax, dword [0x141dd6dd4]
and eax, 0x76cc22cb
cmp eax, 0x9b814a21
jne 0x1400cdbc8
mov rcx, r14
xor edx, edx
mov r8, rbx
call rbp
mov r12, rbp
mov esi, 0xe1a6c4b5
mov eax, dword [0x141dd6dd8]
xor eax, dword [0x141dd6ddc]
imul ebp, eax, 0xc1e79d93
add ebp, 0x898f7857
imul rbp, rsi
shr rbp, 0x3b
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
cmp ebp, 0xcec8aa5e
je 0x1400cdbd0
mov rbp, r12
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
mov eax, dword [0x141dd6de0]
xor edx, edx
div dword [0x141dd6de4]
or eax, 0x4afd6f3b
add eax, 0xe75e5ddd
cmp eax, 0x9a61fc0f
ja 0x1400cdc10
mov eax, dword [0x141dd6de8]
and eax, dword [0x141dd6dec]
imul eax, eax, 0x32c69632
add eax, 0xcc9bbdc5
cmp eax, 0xd670790a
ja 0x1400cdca0
nop dword [rax]
mov eax, dword [0x141dd6df0]
sub eax, dword [0x141dd6df4]
or eax, 0x80a0200
xor eax, 0x10828a01
or eax, 0xe57565be
mov rbx, qword [0x141ddb260]
cmp eax, 0x35e1cb8e
jb 0x1400cdca0
mov eax, dword [0x141dd6df8]
add eax, dword [0x141dd6dfc]
or eax, 0xffed1574
add eax, 0xc920d35f
cmp eax, 0x78a0c682
jae 0x1400cdcb0
jmp 0x1400cdd30
mov rax, qword [0x141ddb260]
jmp 0x1400cdc50
mov r14d, dword [0x141dd6e00]
xor r14d, dword [0x141dd6e04]
and r14d, 0xbbd80287
mov eax, 0xed1e0841
imul r14, rax
shr r14, 0x3e
add r14d, 0xa460c343
mov rcx, rbx
xor edx, edx
mov r8, r15
call rbp
cmp r14d, 0x9def0f5a
jb 0x1400cdd30
nop dword [rax]
mov eax, dword [0x141dd6e08]
or eax, dword [0x141dd6e0c]
xor eax, 0xeca924c8
imul eax, eax, 0xc19cae1d
cmp eax, 0xc0091c10
ja 0x1400cdcf0
mov r15, rdi
mov rax, r13
test rdi, rdi
mov r8d, 0x9a9309e7
jne 0x1400cda60
jmp 0x1400cdd40
mov rcx, rbx
xor edx, edx
mov r8, r15
call rbp
jmp 0x1400cdcb0
mov eax, dword [0x141dd6e10]
sub eax, dword [0x141dd6e14]
imul eax, eax, 0xe39fa070
xor eax, 0x58d08016
and eax, 0x78d68056
cmp eax, 0xf9a89c24
ja 0x1400cdd40
mov rdi, qword [rsi + 0x20]
test rdi, rdi
je 0x1400ce110
mov r15, qword [rsi + 0x30]
xor ebp, ebp
nop word cs:[rax + rax]
mov r13, qword [rdi + 0x18]
mov qword [rsi + 0x20], r13
test r13, r13
mov rax, r13
cmove rax, qword [rsp + 0x20]
mov qword [rax + 0x20], 0
dec r15
mov qword [rsi + 0x30], r15
mov rbx, qword [rdi + 8]
mov r12, qword [rdi + 0x10]
test r12, r12
je 0x1400cdde0
mov r14, rbx
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1400c96b0
add r14, 0x158
dec r12
jne 0x1400cddc0
nop word cs:[rax + rax]
mov eax, dword [0x141dd6e18]
xor edx, edx
div dword [0x141dd6e1c]
and eax, 0x1a18b010
or eax, 0x45460da1
imul rax, rax, 0x1c21a5a3
shr rax, 0x39
cmp eax, 0xad2c955e
je 0x1400cdde0
mov rcx, qword [rdi]
mov eax, dword [0x141dd6e20]
xor edx, edx
div dword [0x141dd6e24]
nop dword [rax + rax]
test bpl, bpl
jne 0x1400cde20
nop word cs:[rax + rax]
mov eax, dword [0x141dd6e28]
and eax, dword [0x141dd6e2c]
and eax, 0x4cc362e6
imul rax, rax, 0x27a85aa1
shr rax, 0x3a
xor eax, 0xd7b36e13
cmp eax, 0x60fc02ae
jb 0x1400cde30
test rcx, rcx
je 0x1400cde88
mov rcx, qword [0x141ddb260]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov eax, dword [0x141dd6e30]
add eax, dword [0x141dd6e34]
or eax, 0xd4d03400
cmp eax, 0xa97c056f
je 0x1400cde70
mov eax, dword [0x141dd6e38]
sub eax, dword [0x141dd6e3c]
imul eax, eax, 0xa81b0149
and eax, 0x2b145b35
imul rax, rax, 0x2e20e2bf
shr rax, 0x3a
cmp eax, 0x577c6357
jbe 0x1400cdec0
mov rax, qword [0x141ddb260]
nop dword [rax + rax]
mov eax, dword [0x141dd6e40]
imul eax, dword [0x141dd6e44]
imul eax, eax, 0xe5dd6722
or eax, 0x89bab38f
mov rcx, qword [0x141ddb260]
cmp eax, 0xdb6d69db
je 0x1400cdec0
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov eax, dword [0x141dd6e48]
add eax, dword [0x141dd6e4c]
imul eax, eax, 0x1197cd1e
shr eax, 1
imul rax, rax, 0x350c2b13
shr rax, 0x38
cmp eax, 0xf3799ddf
je 0x1400cdf00
mov rdi, r13
test r13, r13
jne 0x1400cdd80
jmp 0x1400ce110
mov rdi, qword [rsi + 8]
nop dword [rax + rax]
mov eax, dword [0x141dd6d40]
imul eax, dword [0x141dd6d44]
imul eax, eax, 0xa88327e
and eax, 0x81088002
cmp eax, 0x2cd22969
jb 0x1400cdf40
mov rsi, qword [rsi + 0x10]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400cdfe0
mov eax, dword [0x141dd6d48]
xor eax, dword [0x141dd6d4c]
and eax, 0x5d6eb1d5
add eax, 0x6d05368e
and eax, 0x5c7048ec
cmp eax, 0x8f1da9f0
je 0x1400cdfb7
mov eax, dword [0x141dd6d50]
imul eax, dword [0x141dd6d54]
imul r14, rax, 0x6bfa173
shr r14, 0x35
and r14d, 0xfffffff1
mov rcx, rdi
call rbx
cmp r14d, 0xe60b2eee
jne 0x1400cdfc0
mov rcx, rdi
call rbx
jmp 0x1400cdf8d
mov eax, dword [0x141dd6d58]
xor edx, edx
div dword [0x141dd6d5c]
add eax, 0x5debdf2c
cmp eax, 0x6135bc1d
ja 0x1400cdfc0
nop word [rax + rax]
mov eax, dword [0x141dd6d60]
sub eax, dword [0x141dd6d64]
xor eax, 0x8a102850
and eax, 0x9a102874
add eax, 0x9d2b50a9
cmp eax, 0x18762e1
jb 0x1400cdfe0
mov eax, dword [0x141dd6d68]
xor ecx, ecx
xor edx, edx
div dword [0x141dd6d6c]
nop word cs:[rax + rax]
test cl, cl
jne 0x1400ce020
cmp qword [rsi + 8], 0
je 0x1400ce110
mov rax, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd6d70]
imul ecx, dword [0x141dd6d74]
or ecx, 0xfafb5f77
add ecx, 0xe987683a
cmp ecx, 0xc8a64e2a
jb 0x1400ce040
nop word cs:[rax + rax]
mov ecx, dword [0x141dd6d78]
mov edx, dword [0x141dd6d7c]
add ecx, edx
add ecx, 0xc5ca04e4
or ecx, 0x8fab2e97
cmp ecx, 0x60049c91
je 0x1400ce070
cmp rax, 0x11
jb 0x1400ce0f7
nop dword [rax + rax]
mov eax, dword [0x141dd6d80]
imul eax, dword [0x141dd6d84]
shr eax, 0xa
imul rax, rax, 0x8767b
shr rax, 0x28
xor eax, 0x2d493fbb
imul eax, eax, 0xd2de58c2
cmp eax, 0x9f99f1c6
je 0x1400ce0a0
nop dword [rax]
mov eax, dword [0x141dd6d88]
or eax, dword [0x141dd6d8c]
xor eax, 0x424a0c0
or eax, 0x93c35e2f
imul eax, eax, 0xd9c05d65
cmp eax, 0xde54e8cd
ja 0x1400ce0d0
mov rdi, qword [rdi - 8]
mov rcx, qword [0x141ddb260]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x141dd6d90]
and eax, dword [0x141dd6d94]
and eax, 0x20203940
imul rax, rax, 0x11dac831
shr rax, 0x39
cmp eax, 0xc41f48b8
ja 0x1400ce110
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret