Function at 0x1400058c8
Capabilities:
Create thread
Generate random numbers via winapi

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x148]
sub rsp, 0x240
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rax, qword [0x140062040]
xor rax, rsp
mov qword [rbp + 0x110], rax
call fcn.140004030
xor ecx, ecx
call fcn.14002e74c
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x40], rax
call fcn.14002eab8
lea rdi, [0x140063870]
mov rbx, rax
mov rcx, rdi
lea rdx, [0x1400583a8]
call fcn.1400136bc
mov edx, dword [rbx + 8]
mov rcx, rax
call fcn.140007378
mov rcx, rax
call fcn.140012afc
mov edx, dword [rbx + 4]
mov rcx, rax
call fcn.140007378
mov rcx, rax
call fcn.140012afc
mov edx, dword [rbx]
mov rcx, rax
call fcn.140007378
mov rcx, rax
call fcn.140013588
call fcn.140005850
mov esi, 0x4ec4ec4f
mov rcx, rdi
test al, al
je 0x1400059ea
lea rdx, [0x1400583cc]
call fcn.1400136bc
mov rcx, rax
call fcn.140013588
call fcn.140005500
mov ecx, 0xf4241
call fcn.14002eeb8
mov rdi, rax
xor ebx, ebx
call fcn.140027358
mov r8d, eax
mov eax, esi
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1a
sub r8d, ecx
add r8b, 0x61
mov byte [rbx + rdi], r8b
inc rbx
cmp rbx, 0xf4240
jl 0x1400059a8
mov rcx, rdi
mov byte [rdi + 0xf4240], 0
call fcn.14002eb00
jmp 0x1400059fe
lea rdx, [0x1400583d4]
call fcn.1400136bc
mov rcx, rax
call fcn.140013588
xor ecx, ecx
call fcn.14002e74c
mov rcx, rax
call fcn.140027384
call fcn.140027358
mov r8d, eax
mov eax, 0x55555556
imul r8d
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*2]
sub r8d, ecx
cmp r8d, 2
ja 0x140005a3f
movsxd rax, r8d
lea rcx, [0x140059960]
call qword [rcx + rax*8]
jmp 0x140005a4b
lea rcx, str.Invalid_option_n
call fcn.1400011f8
mov ecx, 8
call fcn.1400210b4
lea rcx, [0x1400055d8]
mov r9, rax
lea r8, [0x14001d1ec]
xor edx, edx
mov qword [rax], rcx
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
and dword [rsp + 0x20], 0
call fcn.14002acf0
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140005de3
cmp dword [rsp + 0x38], 0
je 0x140005df3
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [rsp + 0x38], eax
je 0x140005dfe
movaps xmm0, xmmword [rsp + 0x30]
lea rcx, [rsp + 0x40]
xor edx, edx
movdqa xmmword [rsp + 0x40], xmm0
call fcn.1400204a4
test eax, eax
jne 0x140005e09
xorps xmm0, xmm0
xor ecx, ecx
movdqa xmmword [rsp + 0x30], xmm0
call fcn.14002e74c
mov rcx, rax
call fcn.140027384
call fcn.140027358
mov r8d, eax
mov eax, esi
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1a
sub r8d, ecx
imul eax, r8d, 0x2ee0
movsxd rcx, eax
call fcn.140005420
xor ecx, ecx
xor ebx, ebx
xor esi, esi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor r10d, r10d
mov rdx, rax
movsxd rcx, dword [rax + 0x3c]
mov r8d, dword [rcx + rax + 0x98]
movzx r11d, word [r8 + rax + 0xe]
movzx ecx, word [r8 + rax + 0xc]
add r11, rcx
je 0x140005b8c
lea r9, [rax + 0x14]
mov edi, 0x7fffffff
add r9, r8
mov eax, dword [r9]
test eax, eax
jns 0x140005b8c
and rax, rdi
add rax, r8
mov ecx, dword [rax + rdx + 0x14]
test ecx, ecx
jns 0x140005b64
cmp word [rax + rdx + 0x10], 0x64
je 0x140005b72
inc r10
add r9, 8
cmp r10, r11
jae 0x140005b8c
jmp 0x140005b47
and rcx, rdi
add rcx, r8
mov eax, dword [rcx + rdx + 0x14]
and rax, rdi
add rax, r8
mov ebx, dword [rax + rdx]
mov esi, dword [rax + rdx + 4]
add rbx, rdx
movups xmm6, xmmword [rbx]
mov edi, dword [rbx + 0x18]
movsd xmm7, qword [rbx + 0x10]
movd eax, xmm6
test eax, eax
je 0x140005ba4
call fcn.1400056a8
mov dword [rsp + 0x70], edi
lea edi, [rsi - 0x1c]
mov ecx, edi
movups xmmword [rsp + 0x58], xmm6
mov r14d, edi
movsd qword [rsp + 0x68], xmm7
call fcn.1400211c0
lea rdx, [rbx + 0x1c]
mov r8d, edi
mov rcx, rax
mov rsi, rax
call fcn.140022f60
lea ecx, [rdi + 0x100]
call fcn.1400211c0
and qword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
mov r9d, 1
mov dword [rsp + 0x20], 0xf0000040
xor r8d, r8d
xor edx, edx
mov rbx, rax
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
mov rcx, qword [rsp + 0x40]
lea r8, [rbp + 0x10]
mov edx, 0x80
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
movaps xmm0, xmmword [rbp + 0x10]
lea rdx, [rsp + 0x60]
movups xmmword [rbx], xmm0
lea rcx, [rbp - 0x7c]
mov dword [rbp - 0x80], 1
movaps xmm1, xmmword [rbp + 0x20]
movups xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x30]
movups xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [rbp + 0x40]
movups xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [rbp + 0x50]
movups xmmword [rbx + 0x40], xmm0
movaps xmm1, xmmword [rbp + 0x60]
movups xmmword [rbx + 0x50], xmm1
movaps xmm0, xmmword [rbp + 0x70]
movups xmmword [rbx + 0x60], xmm0
movaps xmm1, xmmword [rbp + 0x80]
movups xmmword [rbx + 0x70], xmm1
call fcn.1400020e4
xor edx, edx
lea r8, [rbp]
mov ecx, dword [rbp + rdx*4 - 0x7c]
mov eax, dword [r8]
mov dword [rbp + rdx*4 - 0x7c], eax
inc rdx
mov dword [r8], ecx
lea r8, [r8 - 4]
cmp rdx, 0x10
jl 0x140005c75
mov rbx, rsi
test edi, edi
jle 0x140005cb7
dec edi
shr edi, 4
inc edi
mov r8, rbx
lea rcx, [rbp - 0x7c]
mov rdx, rbx
call fcn.14000228c
add rbx, 0x10
sub rdi, 1
jne 0x140005c9e
xor ecx, ecx
call fcn.14002e74c
mov rcx, rax
call fcn.140027384
call fcn.140027358
mov r8d, eax
mov ebx, 0x4ec4ec4f
mov eax, ebx
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1a
sub r8d, ecx
imul eax, r8d, 0x2ee0
movsxd rcx, eax
call fcn.140005420
lea r9, [rsp + 0x50]
mov r8d, 0x40
mov rdx, r14
mov rcx, rsi
call qword [0x140065588]
call fcn.140027358
mov r9d, eax
mov eax, ebx
imul r9d
sar edx, 3
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
imul edx, edx, 0x1a
sub r9d, edx
imul eax, r9d, 0x2ee0
movsxd rcx, eax
call fcn.140005420
xor r9d, r9d
lea rdx, str._x_sys_default_locale
mov rcx, rsi
lea r8d, [r9 + 2]
call qword [sym.imp.KERNEL32.dll_EnumTimeFormatsEx]
mov ecx, 0xf4241
call fcn.14002eeb8
mov rdi, rax
xor ebx, ebx
call fcn.140027358
mov r8d, eax
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1a
sub r8d, ecx
add r8b, 0x61
mov byte [rbx + rdi], r8b
inc rbx
cmp rbx, 0xf4240
jl 0x140005d63
mov rcx, rdi
mov byte [rdi + 0xf4240], 0
call fcn.14002eb00
cmp dword [rsp + 0x38], 0
jne 0x140005e14
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.140020df0
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret
and dword [rsp + 0x38], 0
mov ecx, 6
call fcn.14001e038
int3
mov ecx, 1
call fcn.14001e038
int3
mov ecx, 5
call fcn.14001e038
int3
mov ecx, 2
call fcn.14001e038
int3
call fcn.14002e4b0
int3