Function at 0x1400d1950
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 qword [rsp + 0x28], rcx
mov eax, dword [0x141dda6b8]
xor edx, edx
div dword [0x141dda6bc]
nop word cs:[rax + rax]
mov eax, dword [0x141dda6c0]
xor edx, edx
div dword [0x141dda6c4]
imul eax, eax, 0xfbdabe53
add eax, 0x2c61307
and eax, 0xe8703c86
cmp eax, 0xa51bb66f
ja 0x1400d1980
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
nop dword [rax]
mov ecx, dword [0x141dda6c8]
xor ecx, dword [0x141dda6cc]
imul ecx, ecx, 0x88a53d9b
or ecx, 0xbfafe4e5
imul ecx, ecx, 0xba9c2937
cmp ecx, 0x2a7fb3b3
je 0x1400d19b0
test rax, rax
je 0x1400d1e1a
cmp eax, 1
jne 0x1400d1c90
mov rax, qword [rsp + 0x28]
mov rdi, qword [rax + 8]
test rdi, rdi
je 0x1400d1e1a
mov rax, qword [rsp + 0x28]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov rdx, qword [rax + 0x18]
nop dword [rax]
mov eax, dword [0x141dda710]
imul eax, dword [0x141dda714]
xor eax, 0x308380a3
imul eax, eax, 0x5114698c
cmp eax, 0x3c4094e5
je 0x1400d1a10
xor r13d, r13d
mov rbp, qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15d, 0x9e1d1b61
nop
mov r8, qword [rdi + 0x18]
mov rcx, qword [rsp + 0x28]
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 r14, qword [rdi + 0x10]
test r14, r14
je 0x1400d1b15
xor r12d, r12d
nop word cs:[rax + rax]
mov eax, dword [0x141dda718]
or eax, dword [0x141dda71c]
imul eax, eax, 0x2576c58b
add eax, 0xc5469470
imul rax, r15
shr rax, 0x3b
cmp eax, 0x6a6ae04
jbe 0x1400d1ad0
imul rcx, r12, 0x158
add rcx, rbx
call fcn.1400cc6b0
nop word cs:[rax + rax]
mov eax, dword [0x141dda720]
imul eax, dword [0x141dda724]
and eax, 0x1222d0
or eax, 0x79cc982e
imul rsi, rax, 0x184261ed
shr rsi, 0x3a
imul rcx, r12, 0x158
add rcx, rbx
call fcn.1400cc6b0
cmp esi, 0x4b57d307
je 0x1400d1ad0
inc r12
cmp r12, r14
jne 0x1400d1a90
mov eax, dword [0x141dda728]
xor eax, dword [0x141dda72c]
xor eax, 0xc999bbfa
add eax, 0x6116b289
cmp eax, 0xb8497ac1
ja 0x1400d1b15
mov rax, qword [rdi]
mov ecx, dword [0x141dda730]
imul ecx, dword [0x141dda734]
imul ecx, ecx, 0xbfa5b702
add ecx, 0xf724865f
cmp ecx, 0x18f12e50
jb 0x1400d1b35
nop word cs:[rax + rax]
mov ecx, dword [0x141dda738]
sub ecx, dword [0x141dda73c]
cmp ecx, 0xf184beab
je 0x1400d1b60
test rax, rax
je 0x1400d1bfd
mov r14, qword [0x141dde6e0]
mov eax, dword [0x141dda740]
or eax, dword [0x141dda744]
or eax, 0xefbdfff9
add eax, 0xc77f4158
cmp eax, 0x4ca9b021
jae 0x1400d1bb0
mov rcx, r14
xor edx, edx
mov r8, rbx
call rbp
nop dword [rax + rax]
mov eax, dword [0x141dda748]
xor eax, dword [0x141dda74c]
imul esi, eax, 0xa842d1c5
mov rcx, r14
xor edx, edx
mov r8, rbx
call rbp
cmp esi, 0x62e2a3d5
je 0x1400d1bb0
nop word cs:[rax + rax]
mov eax, dword [0x141dda750]
and eax, dword [0x141dda754]
add eax, 0x15cf250
and eax, 0x96666f31
cmp eax, 0x963ce428
je 0x1400d1be0
mov eax, dword [0x141dda758]
and eax, dword [0x141dda75c]
xor eax, 0x16755064
add eax, 0x7224c65
or eax, 0xb0a28f5e
cmp eax, 0xc1efcffa
jae 0x1400d1c30
mov rax, qword [0x141dde6e0]
nop word cs:[rax + rax]
mov rcx, qword [0x141dde6e0]
test r13b, r13b
jne 0x1400d1c30
xor edx, edx
mov r8, rdi
call rbp
nop word cs:[rax + rax]
mov eax, dword [0x141dda760]
or eax, dword [0x141dda764]
imul eax, eax, 0x7c02d6c9
add eax, 0x1f1a36b
xor eax, 0x72df5b41
cmp eax, 0x4be7cfc5
jb 0x1400d1c50
mov rax, qword [rsp + 0x38]
mov rdi, rax
test rax, rax
mov rdx, qword [rsp + 0x40]
jne 0x1400d1a40
jmp 0x1400d1e1a
mov eax, dword [0x141dda6d0]
mov ecx, dword [0x141dda6d4]
add eax, ecx
add eax, 0xa3d61a4e
imul rax, rax, 0x2c0dbb4f
shr rax, 0x3d
cmp eax, 0xd9922534
ja 0x1400d1c90
mov rax, qword [rsp + 0x28]
mov rdi, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov rbx, qword [rsi]
nop word cs:[rax + rax]
mov eax, dword [0x141dda6d8]
imul eax, dword [0x141dda6dc]
imul eax, eax, 0x15419f86
add eax, 0xfefb47ce
cmp eax, 0x23912a2e
jb 0x1400d1cd0
test rbx, rbx
je 0x1400d1d30
mov eax, dword [0x141dda6e0]
or eax, dword [0x141dda6e4]
add eax, 0x58c21baf
shr eax, 3
imul rax, rax, 0x2150c533
shr rax, 0x3a
cmp eax, 0xc8bcf931
je 0x1400d1d25
mov rcx, rdi
call rbx
xor eax, eax
test al, al
je 0x1400d1d30
mov rcx, rdi
call rbx
jmp 0x1400d1d1a
mov eax, dword [0x141dda6e8]
imul eax, dword [0x141dda6ec]
add eax, 0x6dd8f676
or eax, 0xaf5b5c9b
cmp eax, 0x6a7c654b
jb 0x1400d1d30
nop
mov eax, dword [0x141dda6f0]
xor eax, dword [0x141dda6f4]
xor eax, 0x1306652
and eax, 0x1330665e
cmp eax, 0x2d4f02e2
je 0x1400d1d50
cmp qword [rsi + 8], 0
je 0x1400d1e1a
mov rax, qword [rsi + 0x10]
nop dword [rax]
mov ecx, dword [0x141dda6f8]
add ecx, dword [0x141dda6fc]
imul rcx, rcx, 0x609f9a55
shr rcx, 0x3c
and ecx, 1
cmp ecx, 0xca38c65e
je 0x1400d1d80
cmp rax, 0x11
jb 0x1400d1df7
nop dword [rax + rax]
mov eax, dword [0x141dda700]
xor edx, edx
div dword [0x141dda704]
or eax, 0x58096e25
and eax, 0x5819feb7
cmp eax, 0x5414b73c
jb 0x1400d1db0
nop
mov eax, dword [0x141dda708]
or eax, dword [0x141dda70c]
xor eax, 0x59c1c108
and eax, 0xf9f9c53e
imul eax, eax, 0xd40d957a
cmp eax, 0x65349718
jb 0x1400d1dd0
mov rdi, qword [rdi - 8]
mov rcx, qword [0x141dde6e0]
xor edx, edx
mov r8, rdi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_HeapFree]
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret