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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
movaps xmmword [rbp - 0x10], xmm6
mov qword [rbp - 0x30], rcx
mov eax, dword [0x141dd59d0]
sub eax, dword [0x141dd59d4]
or eax, 0x63019800
and eax, 0xe7e1d812
add eax, 0x18b38464
cmp eax, 0x9ac45f16
ja 0x1400d9769
mov eax, dword [0x141dd59d8]
xor edx, edx
div dword [0x141dd59dc]
mov ecx, eax
or ecx, 0x2000011
xor ecx, 0xa0802246
and ecx, 0xa2f03357
mov eax, 0x70
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xc03ce11
jne 0x1400d9778
mov eax, 0x70
call fcn.1400ed360
sub rsp, rax
jmp 0x1400d972f
mov eax, dword [0x141dd59e0]
mov ecx, dword [0x141dd59e4]
add eax, ecx
add eax, 0x78420287
and eax, 0x7d87742d
add eax, 0xf832ca43
cmp eax, 0x97884309
jae 0x1400d97d0
mov eax, 0x40
call fcn.1400ed360
sub rsp, rax
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dd59e8]
add ecx, dword [0x141dd59ec]
or ecx, 0xe60f7be6
mov eax, 0x40
call fcn.1400ed360
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.1400ed360
sub rsp, rax
mov r12, rsp
cmp ecx, 0x88d21429
je 0x1400d97d0
mov eax, 0xd0
call fcn.1400ed360
sub rsp, rax
mov rbx, rsp
mov eax, dword [0x141dd7ffc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x70], 0
je 0x1400d98ed
nop word [rax + rax]
mov eax, dword [0x141dd5a10]
xor eax, dword [0x141dd5a14]
or eax, 0x892c0d0
and eax, 0x8d3d5d0
cmp eax, 0x99e77eb6
ja 0x1400d9850
mov eax, dword [0x141dd7ffc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x78]
nop word [rax + rax]
mov eax, dword [0x141dd5a18]
and eax, dword [0x141dd5a1c]
add eax, 0xfcd15a1e
or eax, 0x2a4be521
xor eax, 0xfce85fbd
cmp eax, 0xeedd8fda
ja 0x1400d9890
mov eax, dword [0x141dd7ffc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x80]
nop dword [rax]
mov eax, dword [0x141dd5a20]
sub eax, dword [0x141dd5a24]
add eax, 0x4478a08d
cmp eax, 0x4ada4979
ja 0x1400d98d0
jmp 0x1400d9a15
mov eax, dword [0x141dd59f0]
xor eax, dword [0x141dd59f4]
imul eax, eax, 0x3f35b760
add eax, 0x6b306201
cmp eax, 0x5c54f441
jae 0x1400d9913
xorps xmm0, xmm0
movups xmmword [r12], xmm0
xorps xmm0, xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dd59f8]
imul eax, dword [0x141dd59fc]
xor eax, 0xb098e948
imul rax, rax, 0x57e8cc17
shr rax, 0x3e
or eax, 0x7cbadc06
movups xmmword [r12], xmm0
cmp eax, 0xb225ca94
ja 0x1400d9920
mov eax, dword [0x141dd5a00]
imul eax, dword [0x141dd5a04]
xor eax, 0x994f440b
mov ecx, 0x95c15645
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x919a24f4
cmp eax, 0x7097ceb6
jb 0x1400d99d4
mov eax, dword [0x141dd5a08]
sub eax, dword [0x141dd5a0c]
imul esi, eax, 0x47b9b33e
sub rsp, 0x20
mov edx, 0x10
mov rcx, r12
call qword [sym.imp.bcryptprimitives.dll_ProcessPrng]
add rsp, 0x20
mov r13, qword [r12]
mov eax, dword [0x141dd7ffc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [r12 + 8]
mov byte [rax + 0x70], 1
mov qword [rax + 0x80], rcx
cmp esi, 0x9ccc484c
jne 0x1400d9a15
sub rsp, 0x20
mov edx, 0x10
mov rcx, r12
call qword [sym.imp.bcryptprimitives.dll_ProcessPrng]
add rsp, 0x20
mov rax, qword [r12 + 8]
mov ecx, dword [0x141dd7ffc]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov byte [rcx + 0x70], 1
mov qword [rcx + 0x80], rax
jmp 0x1400d997a
mov qword [rbp - 0x20], rcx
mov eax, dword [0x141dd5a28]
imul eax, dword [0x141dd5a2c]
add eax, 0x26a86f04
mov ecx, 0xbd1d3b4b
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x33b670d9
jne 0x1400d9a79
lea rax, [r13 + 1]
mov ecx, dword [0x141dd7ffc]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x78], rax
movzx eax, byte [0x141dd7ff8]
sub rsp, 0x20
mov edx, 0x58410
xor ecx, ecx
call fcn.1400beea0
add rsp, 0x20
mov qword [rbp - 0x28], r13
lea rsi, [r13 + 1]
nop word cs:[rax + rax]
mov r13d, dword [0x141dd5a30]
sub r13d, dword [0x141dd5a34]
add r13d, 0xaf0c7591
xor r13d, 0x84213867
add r13d, 0x2d989306
mov eax, dword [0x141dd7ffc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x78], rsi
movzx eax, byte [0x141dd7ff8]
sub rsp, 0x20
mov edx, 0x58410
xor ecx, ecx
call fcn.1400beea0
add rsp, 0x20
cmp r13d, 0x542fbb41
jb 0x1400d9a90
mov r12, rax
test rax, rax
je 0x1400d9dc0
mov eax, dword [0x141dd5a38]
or eax, dword [0x141dd5a3c]
imul eax, eax, 0x8b2885dc
or eax, 0xab6b8f58
cmp eax, 0x580ae416
jne 0x1400d9b4d
lea rcx, [r12 + 0x58000]
sub rsp, 0x20
mov r8d, 0x410
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
add rsp, 0x20
xorps xmm0, xmm0
movups xmmword [rbx + 0x70], xmm0
movups xmmword [rbx + 0x80], xmm0
mov qword [rbx], 0
mov esi, 0xb510fa43
add r12, 0x58000
mov rax, rbx
add rax, 0x70
mov qword [rbp - 0x18], rax
xorps xmm6, xmm6
nop word [rax + rax]
mov r13d, dword [0x141dd5a40]
xor r13d, dword [0x141dd5a44]
xor r13d, 0x400030a4
or r13d, 0x376a0a49
imul r13, rsi
shr r13, 0x3e
sub rsp, 0x20
mov r8d, 0x410
mov rcx, r12
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
add rsp, 0x20
movups xmmword [rbx + 0x70], xmm6
movups xmmword [rbx + 0x80], xmm6
mov qword [rbx], 0
cmp r13d, 0x2e32b0d8
je 0x1400d9b70
movabs rax, 0x8000000000000000
mov ecx, dword [0x141dd5a48]
sub ecx, dword [0x141dd5a4c]
add ecx, 0xe8a913a0
or ecx, 0x54e36065
add ecx, 0x9315f324
cmp ecx, 0x13bd99a2
jae 0x1400d9c12
mov qword [rbx + 8], 8
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x30], 0
mov rdx, qword [rbp - 0x28]
nop word cs:[rax + rax]
mov ecx, dword [0x141dd5a50]
sub ecx, dword [0x141dd5a54]
imul ecx, ecx, 0x5ed92c7a
add ecx, 0xc3756009
xor ecx, 0x94b7725b
mov qword [rbx + 8], 8
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], rax
mov dword [rbx + 0x30], 0
cmp ecx, 0xb43af42f
ja 0x1400d9c20
mov byte [rbx + 0x38], 0
mov qword [rbx + 0x40], r12
mov qword [rbx + 0x48], 0x3ff
mov qword [rbx + 0x50], 0x380
mov qword [rbx + 0x58], 0
mov qword [rbx + 0x60], rdx
mov rax, qword [rbp - 0x20]
mov qword [rbx + 0x68], rax
mov qword [rbx + 0x90], 0
xorps xmm0, xmm0
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x30], xmm0
movups xmmword [r15 + 0x20], xmm0
movups xmmword [r15 + 0x10], xmm0
mov dword [r15], 0x40
sub rsp, 0x20
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
add rsp, 0x20
test eax, eax
jne 0x1400d9cd8
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
movups xmm0, xmmword [r15 + 8]
mov rax, qword [rbp - 0x18]
movups xmmword [rax], xmm0
mov eax, dword [0x141dd5a60]
xor edx, edx
div dword [0x141dd5a64]
xor eax, 0xc44f8a90
imul eax, eax, 0xd0cc6edc
cmp eax, 0xc5a7c7e8
jne 0x1400d9d26
xorps xmm0, xmm0
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x60], 0
mov eax, 0xa6707229
xorps xmm0, xmm0
nop
mov ecx, dword [0x141dd5a68]
sub ecx, dword [0x141dd5a6c]
imul rcx, rax
shr rcx, 0x3f
imul ecx, ecx, 0xb35060c9
or ecx, 0xdd5f5003
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x60], 0
cmp ecx, 0xcab76219
jb 0x1400d9d30
sub rsp, 0x20
mov rcx, rdi
mov edx, 0x68
call qword [sym.imp.KERNEL32.dll_K32GetPerformanceInfo]
add rsp, 0x20
test eax, eax
je 0x1400d9e8d
mov r9, qword [rdi + 0x20]
mov eax, dword [0x141dd5a70]
or eax, dword [0x141dd5a74]
mov rcx, qword [rdi + 0x50]
xor eax, 0x98cca260
imul eax, eax, 0x34207208
cmp eax, 0xe0137137
jae 0x1400d9df2
jmp 0x1400d9e5c
ud2
mov r10d, dword [0x141dd5a78]
and r10d, dword [0x141dd5a7c]
or r10d, 0xf83dd644
add r10d, 0x43d48e1b
or r10d, 0x63a8e743
mov rdx, qword [rdi + 0x10]
xor r11d, r11d
sub rdx, r9
cmovb rdx, r11
mov rax, rcx
mul rdx
mov r8, rax
mov rsi, 0xffffffffffffffff
cmovo r8, rsi
mov rdx, qword [rdi + 8]
sub rdx, r9
cmovb rdx, r11
mov rax, rcx
mul rdx
cmovo rax, rsi
mov qword [rbx + 0x80], r8
cmp r10d, 0xbece5759
jne 0x1400d9e86
mov rax, qword [rdi + 0x10]
xor edx, edx
sub rax, r9
cmovae rdx, rax
mov rax, rcx
mul rdx
mov rdx, 0xffffffffffffffff
cmovno rdx, rax
mov qword [rbx + 0x80], rdx
jmp 0x1400d9df2
mov qword [rbx + 0x88], rax
sub rsp, 0x20
mov rcx, rbx
mov dl, 1
call fcn.1400c06d0
add rsp, 0x20
mov byte [r14], 1
movabs rax, 0x202020202020101
mov qword [r14 + 1], rax
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call fcn.1400c17d0
add rsp, 0x20
mov eax, dword [0x141dd5a80]
xor edx, edx
div dword [0x141dd5a84]
and eax, 0xc1de1704
xor eax, 0x9ad2929f
add eax, 0x5b2e3fba
cmp eax, 0xf54701c9
mov rdi, qword [rbp - 0x30]
jb 0x1400d9f19
mov esi, dword [0x141dd5a88]
or esi, dword [0x141dd5a8c]
sub rsp, 0x20
mov r8d, 0xd0
mov rcx, rdi
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp esi, 0xc6a67eb0
jne 0x1400d9f40
sub rsp, 0x20
mov r8d, 0xd0
mov rcx, rdi
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
jmp 0x1400d9eec
mov eax, dword [0x141dd5a90]
xor eax, dword [0x141dd5a94]
imul eax, eax, 0x1b33ca2e
add eax, 0x68f2af00
or eax, 0x1be01681
cmp eax, 0xb58d55ae
je 0x1400d9f40
movaps xmm6, xmmword [rbp - 0x10]
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret