Function at 0x1400cd590
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [rcx]
test rax, rax
je 0x1400cdca4
cmp eax, 1
jne 0x1400cd86d
mov eax, 0x8a0299cf
lea r8, [rcx + 8]
nop
mov edx, dword [0x141dd61d0]
and edx, dword [0x141dd61d4]
xor edx, 0x60c0da72
imul rdx, rax
shr rdx, 0x3f
or edx, 0x5a9bd16e
cmp edx, 0xa30b4736
ja 0x1400cd5c0
lea rax, [rcx + 0x10]
mov qword [rsp + 0x30], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd61d8]
sub eax, dword [0x141dd61dc]
and eax, 0x6661e89d
cmp eax, 0x9078776e
je 0x1400cd600
mov qword [rsp + 0x20], r8
mov rdi, qword [r8]
test rdi, rdi
mov qword [rsp + 0x28], rcx
je 0x1400cd9dd
mov eax, dword [0x141dd61e0]
xor edx, edx
div dword [0x141dd61e4]
nop dword [rax]
mov eax, dword [str.ge_Mh]
add eax, dword [0x141dd61ec]
imul eax, eax, 0x11af775c
and eax, 0xb6a5b5f0
xor eax, 0x83e9cf21
cmp eax, 0x49263628
ja 0x1400cd640
mov rdx, qword [rcx + 0x18]
xor ebp, ebp
mov r12, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r8, qword [rdi + 0x18]
mov qword [rcx + 8], r8
lea rax, [r8 + 0x20]
mov qword [rsp + 0x38], r8
test r8, r8
cmove rax, qword [rsp + 0x30]
mov qword [rax], 0
dec rdx
mov qword [rsp + 0x40], rdx
mov qword [rcx + 0x18], rdx
mov rbx, qword [rdi + 8]
mov r13, qword [rdi + 0x10]
test r13, r13
je 0x1400cd730
mov r14, rbx
xor esi, esi
jmp 0x1400cd6cf
add r14, 0x158
inc rsi
dec r13
je 0x1400cd730
mov eax, dword [0x141dd61f0]
sub eax, dword [0x141dd61f4]
shr eax, 1
imul rax, rax, 0x4aa51455
shr rax, 0x3d
cmp eax, 0x72841630
je 0x1400cd71e
nop
mov r15d, dword [0x141dd61f8]
imul r15d, dword [0x141dd61fc]
or r15d, 0x334ac907
add r15d, 0x3a52753b
mov rcx, r14
call fcn.1400c91b0
cmp r15d, 0xf70390be
jbe 0x1400cd6c0
mov rcx, r14
call fcn.1400c91b0
jmp 0x1400cd6f0
test bpl, bpl
jne 0x1400cd730
mov rax, qword [rdi]
mov ecx, dword [0x141dd6200]
sub ecx, dword [0x141dd6204]
imul ecx, ecx, 0x4b918a74
and ecx, 0x63a9500c
cmp ecx, 0xf65d58bc
je 0x1400cd738
nop dword [rax + rax]
mov ecx, dword [0x141dd6208]
sub ecx, dword [0x141dd620c]
imul ecx, ecx, 0x84922bb1
add ecx, 0x2f6f970c
or ecx, 0xd47b871c
cmp ecx, 0x9ff545f4
jb 0x1400cd760
test rax, rax
je 0x1400cd7ef
mov r14, qword [0x141dda6a0]
mov eax, dword [0x141dd6210]
xor edx, edx
div dword [0x141dd6214]
xor eax, 0xb0020
and eax, 0x2b1028
cmp eax, 0xc26d5472
jne 0x1400cd7c0
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
nop dword [rax]
mov eax, dword [0x141dd6218]
sub eax, dword [0x141dd621c]
and eax, 0x920
or eax, 0xf77a56df
imul esi, eax, 0xd6d23ecc
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
cmp esi, 0x6c3d3d1d
ja 0x1400cd7c0
mov rbx, qword [0x141dda6a0]
mov eax, dword [0x141dd6220]
imul eax, dword [0x141dd6224]
xor eax, 0x7065b9be
add eax, 0x3ddf651b
xor eax, 0x8e4762ec
cmp eax, 0xd9fa3d9d
ja 0x1400cd860
nop dword [rax]
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
test bpl, bpl
jne 0x1400cd860
test bpl, bpl
jne 0x1400cd830
mov rax, qword [rsp + 0x38]
mov rdi, rax
test rax, rax
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
jne 0x1400cd670
jmp 0x1400cd9dd
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
jmp 0x1400cd820
mov rdi, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
mov rax, qword [rsi]
test rax, rax
je 0x1400cd8b3
mov rcx, rdi
call rax
nop word cs:[rax + rax]
mov eax, dword [0x141dd6198]
or eax, dword [0x141dd619c]
imul rax, rax, 0x7b2c583f
shr rax, 0x3d
or eax, 0xee68f450
cmp eax, 0x346e28fc
jb 0x1400cd890
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400cd8c0
mov eax, dword [0x141dd61a0]
xor edx, edx
div dword [0x141dd61a4]
nop word cs:[rax + rax]
mov eax, dword [0x141dd61a8]
or eax, dword [0x141dd61ac]
shr eax, 1
imul rax, rax, 0x444c06b
shr rax, 0x37
or eax, 0xc1f600f1
imul eax, eax, 0x640047ac
cmp eax, 0xf6042a39
ja 0x1400cd8e0
mov rax, qword [rsi + 8]
nop
mov ecx, dword [0x141dd61b0]
and ecx, dword [0x141dd61b4]
imul ecx, ecx, 0xeef4569d
add ecx, 0x5e3cffbb
cmp ecx, 0x4b2b6696
jb 0x1400cd910
test rax, rax
je 0x1400cdca4
mov rax, qword [rsi + 0x10]
nop dword [rax]
mov ecx, dword [0x141dd61b8]
imul ecx, dword [0x141dd61bc]
imul ecx, ecx, 0xbd191944
or ecx, 0x479cd5c5
imul ecx, ecx, 0x349132fb
cmp ecx, 0xa4b7bc83
ja 0x1400cd940
cmp rax, 0x11
jb 0x1400cd978
xor eax, eax
nop
test al, al
jne 0x1400cd970
mov rdi, qword [rdi - 8]
mov eax, dword [0x141dd61c0]
imul eax, dword [0x141dd61c4]
cmp eax, 0x2227ee23
jne 0x1400cd99e
mov rcx, qword [0x141dda6a0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov ebx, dword [0x141dd61c8]
xor ebx, dword [0x141dd61cc]
and ebx, 0x20104488
mov rcx, qword [0x141dda6a0]
xor edx, edx
mov r8, rdi
call rsi
cmp ebx, 0x60765675
je 0x1400cd9b0
jmp 0x1400cdca4
mov r9, qword [rsp + 0x20]
nop word cs:[rax + rax]
mov eax, dword [0x141dd6228]
imul eax, dword [0x141dd622c]
add eax, 0x1be54adf
cmp eax, 0xd5c2b4b3
ja 0x1400cd9f0
mov rdi, qword [rcx + 0x20]
test rdi, rdi
je 0x1400cdca4
nop word cs:[rax + rax]
mov eax, dword [0x141dd6230]
sub eax, dword [0x141dd6234]
and eax, 0x32a673de
add eax, 0xbf84b4ec
or eax, 0x5ab610e7
cmp eax, 0xfe2a82b6
je 0x1400cda20
mov rax, qword [rcx + 0x30]
nop word cs:[rax + rax]
mov edx, dword [0x141dd6238]
imul edx, dword [0x141dd623c]
imul edx, edx, 0x24e77a40
cmp edx, 0x99602f4c
je 0x1400cda50
xor ebp, ebp
mov r12, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
test bpl, bpl
jne 0x1400cdc80
nop dword [rax]
mov r8d, dword [0x141dd6240]
xor r8d, dword [0x141dd6244]
and r8d, 0x8810e940
mov r15, qword [rdi + 0x18]
test r15, r15
mov rdx, r15
cmove rdx, r9
lea r13, [rax - 1]
mov qword [rcx + 0x20], r15
mov qword [rdx + 0x20], 0
mov qword [rcx + 0x30], r13
cmp r8d, 0x7c478522
je 0x1400cdc80
mov rbx, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
test rsi, rsi
je 0x1400cdb10
mov r14, rbx
nop word cs:[rax + rax]
mov rcx, r14
call fcn.1400c91b0
add r14, 0x158
dec rsi
jne 0x1400cdaf0
nop word cs:[rax + rax]
mov eax, dword [0x141dd6248]
and eax, dword [0x141dd624c]
xor eax, 0x9a5ec90a
or eax, 0x418116c1
add eax, 0x12f7ac14
cmp eax, 0x406df903
ja 0x1400cdb10
mov rax, qword [rdi]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd6250]
xor ecx, dword [0x141dd6254]
imul ecx, ecx, 0x599b33e5
or ecx, 0x9e478935
and ecx, 0xfe678d75
cmp ecx, 0x57d3680a
jb 0x1400cdb40
test rax, rax
je 0x1400cdbd5
mov r14, qword [0x141dda6a0]
mov eax, dword [0x141dd6258]
and eax, dword [0x141dd625c]
and eax, 0xdd6c3b62
shr eax, 1
imul rax, rax, 0x505124cb
shr rax, 0x3d
cmp eax, 0x67b8f9b3
jne 0x1400cdbb0
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
nop word cs:[rax + rax]
mov esi, dword [0x141dd6260]
sub esi, dword [0x141dd6264]
or esi, 0x49bb7000
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
cmp esi, 0xbe798b5e
je 0x1400cdbb0
mov rbx, qword [0x141dda6a0]
mov eax, dword [0x141dd6268]
add eax, dword [0x141dd626c]
and eax, 0xf289bdbd
add eax, 0x1573ada4
and eax, 0x951ded40
cmp eax, 0x6c68473f
jne 0x1400cdc10
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
nop dword [rax]
mov esi, dword [0x141dd6270]
or esi, dword [0x141dd6274]
add esi, 0x7c75f50f
and esi, 0x2cde1e19
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
cmp esi, 0x4f2e52da
je 0x1400cdc10
nop dword [rax + rax]
mov eax, dword [0x141dd6278]
mov ecx, dword [0x141dd627c]
add eax, ecx
add eax, 0x2ca6f093
or eax, 0xa2e76bd7
and eax, 0xe2e7efdf
cmp eax, 0x979d9d2b
jb 0x1400cdc40
mov rdi, r15
mov rax, r13
test r15, r15
mov rcx, qword [rsp + 0x28]
mov r9, qword [rsp + 0x20]
jne 0x1400cda80
jmp 0x1400cdca4
mov rdx, qword [rdi + 0x18]
mov qword [rcx + 0x20], rdx
test rdx, rdx
cmove rdx, r9
mov qword [rdx + 0x20], 0
lea rdx, [rax - 1]
mov qword [rcx + 0x30], rdx
jmp 0x1400cda90
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret