Function at 0x1400ddaa0
Capabilities:
Encode data using xor
Get memory capacity

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x90
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x20], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x20], 0x40
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
nop word [rax + rax]
mov ecx, dword [0x141ddc138]
sub ecx, dword [0x141ddc13c]
xor ecx, 0xa90084
and ecx, 0x14ab24ac
add ecx, 0xe815ebcc
cmp ecx, 0x97911f76
jb 0x1400ddae0
nop word cs:[rax + rax]
mov ecx, dword [0x141ddc140]
or ecx, dword [0x141ddc144]
xor ecx, 0x3f350f47
add ecx, 0x3342ef55
or ecx, 0xc06d2048
cmp ecx, 0xf3a43dd5
je 0x1400ddb10
test eax, eax
jne 0x1400ddbb8
mov eax, dword [0x141ddc148]
xor eax, dword [0x141ddc14c]
xor eax, 0x412080ad
and eax, 0x413cf1ad
add eax, 0x72d4f612
cmp eax, 0xf3987724
jbe 0x1400ddb62
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ebx, dword [0x141ddc150]
and ebx, dword [0x141ddc154]
and ebx, 0x855828c6
add ebx, 0xcd210bfb
call rdi
cmp ebx, 0xcc75769a
jb 0x1400ddb70
nop word cs:[rax + rax]
mov eax, dword [0x141ddc158]
add eax, dword [0x141ddc15c]
or eax, 0x72fdcf0e
cmp eax, 0xcda9be05
je 0x1400ddba0
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsi + 0x70], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x20]
mov edx, 0x68
call qword [sym.imp.KERNEL32.dll_K32GetPerformanceInfo]
test eax, eax
je 0x1400ddd00
mov eax, dword [0x141ddc160]
imul eax, dword [0x141ddc164]
mov rcx, qword [rsp + 0x70]
add eax, 0xfdadf159
and eax, 0x5218c400
cmp eax, 0x56ab26b7
jbe 0x1400ddc72
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
xor r9d, r9d
sub rdx, r8
cmovb rdx, r9
mov rax, rcx
mul rdx
mov r10, 0xffffffffffffffff
cmovo rax, r10
mov rdx, qword [rsp + 0x28]
sub rdx, r8
cmovb rdx, r9
mov qword [rsi + 0x80], rax
mov rax, rcx
mul rdx
cmovo rax, r10
mov qword [rsi + 0x88], rax
xor r8d, r8d
mov r9, 0xffffffffffffffff
nop dword [rax]
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
sub rdx, r10
cmovb rdx, r8
mov rax, rcx
mul rdx
mov rdx, qword [rsp + 0x28]
cmovo rax, r9
mov qword [rsi + 0x80], rax
sub rdx, r10
cmovb rdx, r8
mov rax, rcx
mul rdx
cmovo rax, r9
mov qword [rsi + 0x88], rax
test r8b, r8b
jne 0x1400ddc80
nop word cs:[rax + rax]
mov eax, dword [0x141ddc168]
or eax, dword [0x141ddc16c]
add eax, 0x896e28fc
shr eax, 3
imul rax, rax, 0x811f95d
shr rax, 0x38
or eax, 0x6f87e314
cmp eax, 0x814733ed
ja 0x1400ddcd0
nop dword [rax + rax]
mov eax, dword [0x141ddc170]
xor eax, dword [0x141ddc174]
and eax, 0xf8300241
xor eax, 0x67e3c563
cmp eax, 0xab0f9d37
jb 0x1400ddd00
movabs rbx, 0x202020202020101
mov eax, dword [0x141ddc178]
or eax, dword [0x141ddc17c]
imul eax, eax, 0xdf2f3c55
xor eax, 0x688cec56
add eax, 0xfea1355d
cmp eax, 0xbf2783fd
ja 0x1400ddd8f
mov eax, dword [0x141ddc180]
xor edx, edx
div dword [0x141ddc184]
mov edi, eax
xor edi, 0x12400000
and edi, 0x36d09012
mov rcx, rsi
mov dl, 1
call fcn.1400c4270
mov byte [rsp + 0x20], 1
mov qword [rsp + 0x21], rbx
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400c5270
cmp edi, 0x4098e6c5
jne 0x1400dddb2
mov rcx, rsi
mov dl, 1
call fcn.1400c4270
mov byte [rsp + 0x20], 1
mov qword [rsp + 0x21], rbx
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400c5270
jmp 0x1400ddd4a
mov eax, 0xc6c2d86f
nop word [rax + rax]
mov ecx, dword [0x141ddc188]
imul ecx, dword [0x141ddc18c]
imul rcx, rax
shr rcx, 0x3f
add ecx, 0x897fc987
and ecx, 0x3b4801
cmp ecx, 0x61e18633
je 0x1400dddc0
add rsp, 0x90
pop rbx
pop rdi
pop rsi
ret