Function at 0x140024060
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x17e0
call fcn.1400323c0
sub rsp, rax
mov rax, qword [0x14004e028]
xor rax, rsp
mov qword [rsp + 0x17d0], rax
mov rdi, rdx
mov ebx, ecx
xor edx, edx
mov r8d, 0x340
lea rcx, [rsp + 0x100]
call sub.VCRUNTIME140.dll_memset
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xor r15d, r15d
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
xor r8d, r8d
lea rdx, [0x1400367e9]
lea rcx, [rsp + 0x58]
call fcn.14002ba90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
xor r8d, r8d
lea rdx, [0x1400367e9]
lea rcx, [rsp + 0x30]
call fcn.14002ba90
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x100]
call fcn.1400108b0
nop
cmp ebx, 1
jne 0x140024127
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xorps xmm0, xmm0
movups xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], 0xf
mov byte [rsp + 0xb0], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x50], rax
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
xor r8d, r8d
lea rdx, [0x1400367e9]
lea rcx, [rsp + 0x30]
call fcn.14002ba90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
mov r8d, 0xc
lea rdx, str._c___command
lea rcx, [rsp + 0x58]
call fcn.14002ba90
nop
lea r9, [rsp + 0x30]
lea r8, [rsp + 0xb0]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14002aa20
mov byte [rax + 0x20], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], 0xf
mov byte [rsp + 0x90], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
xor r8d, r8d
lea rdx, [0x1400367e9]
lea rcx, [rsp + 0x30]
call fcn.14002ba90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
mov r8d, 0xe
lea rdx, str._i___interface
lea rcx, [rsp + 0x58]
call fcn.14002ba90
nop
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14002aa20
mov r12, 0xffffffffffffffff
mov dword [rsp + 0x8c], r12d
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
mov esi, 1
mov r8d, esi
lea rdx, [0x140036cd8]
lea rcx, [rsp + 0x30]
call fcn.14002ba90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
lea r8d, [r12 + 0xf]
lea rdx, str._n___exploitId
lea rcx, [rsp + 0x58]
call fcn.14002ba90
nop
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x8c]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14002ac10
mov byte [rsp + 0x88], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
xor r8d, r8d
lea rdx, [0x1400367e9]
lea rcx, [rsp + 0x30]
call fcn.14002ba90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
lea r8d, [r12 + 0xb]
lea rdx, str._f___force
lea rcx, [rsp + 0x58]
call fcn.14002ba90
nop
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x88]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14002ae00
mov byte [rsp + 0x89], sil
lea rax, [rsp + 0x30]
mov qword [rsp + 0x78], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r15
xor r8d, r8d
lea rdx, [0x1400367e9]
lea rcx, [rsp + 0x30]
call fcn.14002ba90
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
lea r8d, [r12 + 0xe]
lea rdx, str.__interactive
lea rcx, [rsp + 0x58]
call fcn.14002ba90
nop
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x89]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.14002ae00
nop
mov r8, rdi
mov edx, ebx
lea rcx, [rsp + 0x100]
call fcn.140012dc0
nop
lea rdi, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rdi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xc0]
inc rbx
mov eax, 2
mul rbx
cmovo rax, r12
mov rcx, rax
call fcn.140031900
mov r14, rax
mov qword [rsp + 0xd0], r15
lea rcx, [rbx - 1]
mov qword [rsp + 0x20], rcx
mov r9, rdi
mov r8, rbx
mov rdx, rax
lea rcx, [rsp + 0xd0]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs_s]
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rsp + 0x17c4], 0xffffffff
mov dword [rsp + 0x444], eax
mov r9d, 0x270
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, esi
mov dword [rsp + rsi*4 + 0x444], eax
inc rsi
cmp rsi, r9
jb 0x140024490
mov dword [rsp + 0x440], r9d
lea rax, [rsp + 0x448]
nop
mov r8d, dword [rax - 4]
xor r8d, dword [rax]
btr r8d, 0x1f
xor r8d, dword [rax - 4]
mov ecx, r8d
and cl, 1
neg cl
sbb edx, edx
and edx, 0x9908b0df
shr r8d, 1
xor edx, r8d
xor edx, dword [rax + 0x630]
mov dword [rax + 0x9bc], edx
lea rax, [rax + 4]
sub r9, 1
jne 0x1400244c0
mov ecx, dword [rsp + 0x440]
mov edx, dword [rsp + rcx*4 + 0x444]
inc ecx
mov dword [rsp + 0x440], ecx
mov eax, edx
shr eax, 0xb
and eax, dword [rsp + 0x17c4]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov ebx, edx
shr ebx, 0x12
xor ebx, edx
inc ebx
mov eax, 0x51eb851f
mul ebx
shr edx, 3
imul ecx, edx, 0x19
sub ebx, ecx
movsxd rcx, ebx
inc rcx
mov eax, 2
mul rcx
cmovo rax, r12
mov rcx, rax
call fcn.140031900
mov rsi, rax
mov rdi, r15
movsxd rbx, ebx
test rbx, rbx
jle 0x1400245bb
lea r12, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
lea rcx, [rsp + 0x440]
call fcn.140024bb0
mov r8d, eax
mov eax, 0x4104105
mul r8d
mov ecx, r8d
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
imul ecx, ecx, 0x3f
sub r8d, ecx
movzx eax, word [r12 + r8*2]
mov word [rsi + rdi*2], ax
inc rdi
cmp rdi, rbx
jl 0x140024580
mov word [rsi + rbx*2], r15w
mov rdx, rsi
lea rcx, [rsp + 0xd8]
call fcn.140026b60
nop
mov qword [0x140052bc0], r14
movzx eax, byte [rsp + 0x89]
mov dword [0x14004e044], eax
mov rdi, qword [rsp + 0xa0]
test rdi, rdi
jne 0x1400247ea
cmp dword [rsp + 0x8c], 0xffffffff
je 0x14002460a
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x30]
call fcn.140026cb0
mov rbx, rax
mov qword [rsp + 0x78], rax
movzx edi, byte [rsp + 0x88]
mov esi, dword [rsp + 0x8c]
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140026cb0
mov r9, rax
movzx r8d, dil
mov edx, esi
mov rcx, r14
call fcn.140023eb0
test eax, eax
je 0x14002465a
test dil, dil
je 0x140024679
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140026cb0
mov r9, rax
movzx r8d, dil
mov edx, esi
mov rcx, r14
call fcn.140023c40
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x1400246b8
mov rcx, qword [rbx]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x1400246b3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400247e3
mov rcx, r8
call fcn.1400318f8
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
mov rdx, qword [rsp + 0xf0]
cmp rdx, 8
jb 0x140024711
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002470b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400248f4
call fcn.1400318f8
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x140024754
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002474f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002493b
call fcn.1400318f8
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], 0xf
mov byte [rsp + 0x90], 0
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x1400247b3
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400247ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400249a9
call fcn.1400318f8
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], 0xf
mov byte [rsp + 0xb0], 0
lea rcx, [rsp + 0x100]
call fcn.140010ea0
xor eax, eax
jmp 0x1400249dd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
lea rcx, [rsp + 0x90]
mov rbx, qword [rsp + 0xa8]
cmp rbx, 0x10
setae sil
cmovae rcx, qword [rsp + 0x90]
cmp rdi, 7
jne 0x140024853
mov r8, rdi
lea rdx, str.ms_rprn
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140024853
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x30]
call fcn.140026cb0
mov r9, rax
movzx r8d, byte [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
mov rcx, r14
call fcn.140023eb0
jmp 0x1400248ad
lea rcx, [rsp + 0x90]
test sil, sil
cmovne rcx, qword [rsp + 0x90]
cmp rdi, 7
jne 0x1400248b5
mov r8, rdi
lea rdx, str.ms_efsr
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400248b5
lea rdx, [rsp + 0xd8]
lea rcx, [rsp + 0x30]
call fcn.140026cb0
mov r9, rax
movzx r8d, byte [rsp + 0x88]
mov edx, dword [rsp + 0x8c]
mov rcx, r14
call fcn.140023c40
mov rbx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xf0]
cmp rdx, 8
jb 0x140024908
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400248fb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400248fb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400318f8
mov rbx, qword [rsp + 0xa8]
cmp rbx, 0x10
jb 0x140024947
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140024942
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140024942
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400318f8
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], 0xf
mov byte [rsp + 0x90], 0
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x1400247b3
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400247ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400247ae
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rcx, [rsp + 0x90]
call fcn.14000bc70
nop
lea rcx, [rsp + 0xb0]
call fcn.14000bc70
nop
lea rcx, [rsp + 0x100]
call fcn.140010ea0
mov eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x17d0]
xor rcx, rsp
call fcn.1400311c0
mov rbx, qword [rsp + 0x1820]
add rsp, 0x17e0
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret