Function at 0x1400cd470
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 rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dd74b8]
imul eax, dword [0x141dd74bc]
and eax, 0xaafc4d16
add eax, 0x7af844dd
cmp eax, 0x847c867f
ja 0x1400cd490
mov rax, qword [rsi]
mov ecx, 0xb28c8aff
nop word cs:[rax + rax]
mov edx, dword [0x141dd74c0]
and edx, dword [0x141dd74c4]
imul rdx, rcx
shr rdx, 0x3f
or edx, 0xdc769c08
cmp edx, 0x8082912c
je 0x1400cd4c0
test rax, rax
je 0x1400cdd3c
cmp eax, 1
jne 0x1400cd87d
lea rcx, [rsi + 8]
lea r8, [rsi + 0x10]
nop dword [rax]
mov eax, dword [0x141dd7518]
and eax, dword [0x141dd751c]
or eax, 0x9198230b
imul eax, eax, 0x9247b1db
imul rax, rax, 0x66979d4f
shr rax, 0x3e
cmp eax, 0x1e42c20b
ja 0x1400cd500
mov qword [rsp + 0x20], rcx
nop
mov eax, dword [str.da__]
and eax, dword [0x141dd7524]
cmp eax, 0xbeb30669
je 0x1400cd530
mov rbp, qword [rsi + 8]
test rbp, rbp
je 0x1400cda88
mov eax, dword [0x141dd7528]
imul eax, dword [0x141dd752c]
and eax, 0x34052205
cmp eax, 0xb30d56f4
je 0x1400cd550
mov rcx, qword [rsi + 0x18]
xor r13d, r13d
mov qword [rsp + 0x30], r8
nop word cs:[rax + rax]
mov eax, dword [0x141dd7530]
xor edx, edx
div dword [0x141dd7534]
and eax, 0x68a1becc
add eax, 0xfb438166
and eax, 0x690425d0
cmp eax, 0x72e76034
ja 0x1400cd690
nop dword [rax + rax]
mov eax, dword [0x141dd7538]
sub eax, dword [0x141dd753c]
or eax, 0xda281a6c
imul rax, rax, 0xbf231ff
shr rax, 0x37
add eax, 0x65c38931
mov rdi, qword [rbp + 0x18]
lea rdx, [rdi + 0x20]
test rdi, rdi
cmove rdx, r8
lea r12, [rcx - 1]
mov qword [rsi + 8], rdi
mov qword [rdx], 0
mov qword [rsi + 0x18], r12
cmp eax, 0xc69dd71e
ja 0x1400cd690
mov rax, qword [rbp + 8]
mov qword [rsp + 0x28], rax
mov r15, qword [rbp + 0x10]
test r15, r15
je 0x1400cd6c0
mov r14, qword [rsp + 0x28]
xor ebx, ebx
jmp 0x1400cd633
add r14, 0x158
inc rbx
dec r15
je 0x1400cd6c0
mov eax, dword [0x141dd7540]
or eax, dword [0x141dd7544]
add eax, 0xc3d1ccb2
and eax, 0xe7184648
imul eax, eax, 0xd41150e1
cmp eax, 0x901715b7
ja 0x1400cd66d
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1400c93d0
test r13b, r13b
je 0x1400cd620
mov rcx, r14
call fcn.1400c93d0
mov rcx, r14
call fcn.1400c93d0
test r13b, r13b
jne 0x1400cd66d
jmp 0x1400cd620
mov rax, qword [rbp + 0x18]
lea rdx, [rax + 0x20]
test rax, rax
cmove rdx, r8
mov qword [rsi + 8], rax
mov qword [rdx], 0
lea rax, [rcx - 1]
mov qword [rsi + 0x18], rax
jmp 0x1400cd5b0
mov eax, dword [0x141dd7548]
xor edx, edx
div dword [0x141dd754c]
mov eax, dword [0x141dd7550]
sub eax, dword [0x141dd7554]
imul rax, rax, 0x37d542bb
shr rax, 0x3d
add eax, 0x706e9fb5
or eax, 0xbd1b54c1
cmp eax, 0x8fd73f
jb 0x1400cd6ce
mov rax, qword [rbp]
mov r15, qword [sym.imp.KERNEL32.dll_HeapFree]
test r13b, r13b
jne 0x1400cd701
nop word cs:[rax + rax]
mov ecx, dword [0x141dd7558]
xor ecx, dword [0x141dd755c]
xor ecx, 0x2e18dde5
add ecx, 0x2c2839c2
or ecx, 0xbe000651
cmp ecx, 0x1a88611e
je 0x1400cd710
test rax, rax
je 0x1400cd765
mov rcx, qword [0x141ddb9a0]
xor edx, edx
mov r8, qword [rsp + 0x28]
call r15
nop dword [rax]
mov eax, dword [0x141dd7560]
xor edx, edx
div dword [0x141dd7564]
cmp eax, 0xbfbf327a
je 0x1400cd750
mov eax, dword [0x141dd7568]
xor edx, edx
div dword [0x141dd756c]
imul eax, eax, 0x6d98c4b2
and eax, 0x9df4c758
cmp eax, 0xfb9cf8f2
je 0x1400cd7f0
nop word cs:[rax + rax]
mov eax, dword [0x141dd7570]
and eax, dword [0x141dd7574]
imul eax, eax, 0xf90f11cf
add eax, 0x69bb7bf3
or eax, 0x368a3c0e
mov rbx, qword [0x141ddb9a0]
cmp eax, 0x41276101
jb 0x1400cd7f0
mov eax, dword [0x141dd7578]
add eax, dword [0x141dd757c]
xor eax, 0xf6b25c82
imul eax, eax, 0x988442c3
imul rax, rax, 0x702702c1
shr rax, 0x3e
cmp eax, 0x26988980
jbe 0x1400cd800
jmp 0x1400cd870
mov rax, qword [0x141ddb9a0]
jmp 0x1400cd790
mov eax, dword [0x141dd7580]
and eax, dword [0x141dd7584]
and eax, 0xa43d4c4a
imul r14d, eax, 0x6db333f
mov rcx, rbx
xor edx, edx
mov r8, rbp
call r15
cmp r14d, 0x7b2acec
je 0x1400cd870
nop dword [rax]
mov eax, dword [0x141dd7588]
sub eax, dword [0x141dd758c]
xor eax, 0xf75a0f5d
add eax, 0x2cb0f4e8
xor eax, 0x70261cbf
cmp eax, 0x692edf97
jb 0x1400cd830
mov rbp, rdi
mov rcx, r12
test rdi, rdi
mov r8, qword [rsp + 0x30]
jne 0x1400cd580
jmp 0x1400cda88
mov rcx, rbx
xor edx, edx
mov r8, rbp
call r15
jmp 0x1400cd800
xor eax, eax
nop
test al, al
jne 0x1400cd880
mov rdi, qword [rsi + 8]
mov rsi, qword [rsi + 0x10]
mov rbx, qword [rsi]
nop
mov eax, dword [0x141dd74c8]
xor edx, edx
div dword [0x141dd74cc]
imul eax, eax, 0x869960d7
add eax, 0x9b563a0
xor eax, 0xe971a3b4
cmp eax, 0x31a3bf01
jb 0x1400cd890
test rbx, rbx
je 0x1400cd930
mov eax, dword [0x141dd74d0]
and eax, dword [0x141dd74d4]
imul eax, eax, 0x47be0849
add eax, 0x62fb1492
cmp eax, 0x6c9e181e
jae 0x1400cd8e0
mov rcx, rdi
call rbx
nop dword [rax]
mov r14d, dword [0x141dd74d8]
xor r14d, dword [0x141dd74dc]
add r14d, 0x6b49bfdf
imul rax, r14, 0x1643cc5d
shr rax, 0x20
sub r14d, eax
shr r14d, 1
add r14d, eax
shr r14d, 0x1e
or r14d, 0x96fae858
mov rcx, rdi
call rbx
cmp r14d, 0x15706bb5
jb 0x1400cd8e0
nop word cs:[rax + rax]
mov eax, dword [0x141dd74e0]
xor eax, dword [0x141dd74e4]
imul eax, eax, 0x4dd291da
add eax, 0x56775cdd
or eax, 0x45cdbdeb
cmp eax, 0x42c6a85c
je 0x1400cd930
nop word cs:[rax + rax]
mov eax, dword [0x141dd74e8]
xor edx, edx
div dword [0x141dd74ec]
and eax, 0x9d4578aa
add eax, 0x978e9112
and eax, 0xb4d5f924
cmp eax, 0xebea714d
ja 0x1400cd960
cmp qword [rsi + 8], 0
je 0x1400cdd3c
mov rax, qword [rsi + 0x10]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd74f0]
mov edx, dword [0x141dd74f4]
add ecx, edx
add ecx, 0x583e0d8b
xor ecx, 0x7effd654
imul ecx, ecx, 0x336542a6
cmp ecx, 0x7dbdf64d
ja 0x1400cd9a0
nop dword [rax + rax]
mov ecx, dword [0x141dd74f8]
and ecx, dword [0x141dd74fc]
or ecx, 0x334f940a
imul ecx, ecx, 0xa6c289e4
cmp ecx, 0x17274dda
je 0x1400cd9d0
cmp rax, 0x11
jb 0x1400cda65
mov eax, dword [0x141dd7500]
xor edx, edx
div dword [0x141dd7504]
nop word cs:[rax + rax]
mov eax, dword [0x141dd7508]
sub eax, dword [0x141dd750c]
imul eax, eax, 0xedb3162b
add eax, 0x592ca4ae
cmp eax, 0x292527c9
jb 0x1400cda10
mov rdi, qword [rdi - 8]
mov eax, 0xb0de1491
nop word [rax + rax]
mov ecx, dword [0x141dd7510]
or ecx, dword [0x141dd7514]
imul rcx, rax
shr rcx, 0x3c
and ecx, 0xfffffffd
imul ecx, ecx, 0xd2d7a9a9
cmp ecx, 0x696842c8
jb 0x1400cda40
mov rcx, qword [0x141ddb9a0]
xor edx, edx
mov r8, rdi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12, qword [rsi + 0x20]
test r12, r12
mov r8, qword [rsp + 0x20]
je 0x1400cdd3c
nop word [rax + rax]
mov eax, dword [0x141dd7590]
or eax, dword [0x141dd7594]
and eax, 0xa8ddf9ed
imul eax, eax, 0xcc35e014
add eax, 0xae750604
cmp eax, 0x189571d2
jb 0x1400cdaa0
mov rcx, qword [rsi + 0x30]
nop word [rax + rax]
mov eax, dword [0x141dd7598]
xor edx, edx
div dword [0x141dd759c]
or eax, 0xe7bf595e
and eax, 0xffbfdd7e
cmp eax, 0x914b6012
je 0x1400cdad0
mov r13, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov eax, dword [0x141dd75a0]
or eax, dword [0x141dd75a4]
and eax, 0x92030112
add eax, 0xe94946e0
cmp eax, 0x51469a5f
jae 0x1400cdb40
mov rax, qword [r12 + 0x18]
mov qword [rsi + 0x20], rax
test rax, rax
cmove rax, r8
mov qword [rax + 0x20], 0
lea rax, [rcx - 1]
mov qword [rsi + 0x30], rax
nop dword [rax]
mov eax, dword [0x141dd75a8]
or eax, dword [0x141dd75ac]
xor eax, 0x338b33c6
imul rdx, rax, 0x69b1c2f3
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1d
xor eax, 0x81776e25
mov rdi, qword [r12 + 0x18]
test rdi, rdi
mov rdx, rdi
cmove rdx, r8
lea r15, [rcx - 1]
mov qword [rsi + 0x20], rdi
mov qword [rdx + 0x20], 0
mov qword [rsi + 0x30], r15
cmp eax, 0x8bcb4c2f
ja 0x1400cdb40
mov rbx, qword [r12 + 8]
mov rbp, qword [r12 + 0x10]
test rbp, rbp
je 0x1400cdbc4
mov r14, rbx
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1400c93d0
add r14, 0x158
dec rbp
jne 0x1400cdbb0
cmp qword [r12], 0
je 0x1400cdc95
mov eax, dword [0x141dd75b0]
or eax, dword [0x141dd75b4]
add eax, 0x35ecf524
xor eax, 0x80001551
or eax, 0x752fca24
cmp eax, 0xd0b36108
jb 0x1400cdd30
nop word cs:[rax + rax]
mov eax, dword [0x141dd75b8]
and eax, dword [0x141dd75bc]
xor eax, 0x1000000
or eax, 0x1cd51ec3
and eax, 0x1fd51fd7
mov r14, qword [0x141ddb9a0]
cmp eax, 0xe885db80
je 0x1400cdd30
mov eax, dword [0x141dd75c0]
sub eax, dword [0x141dd75c4]
xor eax, 0xf687c75b
imul eax, eax, 0xded25404
cmp eax, 0xb32a5ee0
jne 0x1400cdc60
mov rcx, r14
xor edx, edx
mov r8, rbx
call r13
nop word cs:[rax + rax]
mov eax, dword [0x141dd75c8]
xor edx, edx
div dword [0x141dd75cc]
mov ebp, eax
or ebp, 0xca101a96
xor ebp, 0x484ddf9e
add ebp, 0x77f91f79
mov rcx, r14
xor edx, edx
mov r8, rbx
call r13
cmp ebp, 0xd8d29a66
jb 0x1400cdc60
mov rbx, qword [0x141ddb9a0]
xor eax, eax
test al, al
je 0x1400cdcb0
mov rcx, rbx
xor edx, edx
mov r8, r12
call r13
nop dword [rax]
mov ebp, dword [0x141dd75d0]
imul ebp, dword [0x141dd75d4]
add ebp, 0xd723633c
xor ebp, 0x4c08c101
and ebp, 0xec59f5f3
mov rcx, rbx
xor edx, edx
mov r8, r12
call r13
cmp ebp, 0xf9cc01d2
je 0x1400cdcb0
nop word cs:[rax + rax]
mov eax, dword [0x141dd75d8]
sub eax, dword [0x141dd75dc]
xor eax, 0xe767f928
imul eax, eax, 0xf59b373e
cmp eax, 0x8674e5a9
jb 0x1400cdcf0
mov r12, rdi
mov rcx, r15
test rdi, rdi
mov r8, qword [rsp + 0x20]
jne 0x1400cdb00
jmp 0x1400cdd3c
mov rax, qword [0x141ddb9a0]
jmp 0x1400cdc00
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret