Function at 0x140164d90
Capabilities:
Get system information on windows
Terminate process

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
lea rdi, [0x14016f10e]
lea rbp, str.algo
mov rbx, rdx
mov esi, ecx
call dbg.__main
mov rcx, rdi
call sym.strdup
mov rcx, rdi
mov qword [0x1401bb4d8], rax
lea rdi, str.a:c:Dhp:Px:qr:R:s:t:T:o:u:O:V
call sym.strdup
mov r12, qword [0x140187870]
mov qword [0x1401bb4d0], rax
jmp 0x140164dec
mov rdx, qword [r12]
mov r8, qword [rbx]
call sym.parse_arg
mov ecx, esi
mov r9, rbp
mov r8, rdi
mov qword [rsp + 0x20], 0
mov rdx, rbx
call dbg.getopt_long
mov ecx, eax
test eax, eax
jns 0x140164de0
mov rax, qword [0x140187880]
movsxd rax, dword [rax]
cmp esi, eax
jg 0x1401652e5
cmp byte [0x1401bb4f9], 0
je 0x140165049
cmp qword [0x1401bb4e0], 0
je 0x1401650cb
lea rcx, [0x1401bb080]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x1401bb070]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x1401bb220]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x1401bb0d8]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x1401bb370]
xor edx, edx
call sym.pthread_mutex_init
lea rcx, [0x1401bb408]
xor edx, edx
call sym.pthread_mutex_init
cmp byte [0x1401bb4f9], 0
je 0x14016509c
mov ecx, 2
call sym.curl_global_init
test eax, eax
jne 0x14016508c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x50]
mov edx, 1
test eax, eax
cmovle eax, edx
cmp dword [0x1401bb4f4], 0
mov dword [0x1401bb4f0], eax
je 0x140165081
cmp dword [0x140167010], 2
je 0x140165192
mov r8d, dword [0x1401bb4f4]
lea rcx, [0x1401bb078]
xor edx, edx
call sym.pthread_barrier_init
test eax, eax
jne 0x1401652cf
movsxd rsi, dword [0x1401bb4f4]
mov edx, pe_nt_image_headers64
mov rcx, rsi
mov rdi, rsi
call sym.calloc
mov qword [0x1401bb090], rax
test rax, rax
je 0x140165037
lea ecx, [rsi + 3]
mov edx, 0x18
movsxd rcx, ecx
call sym.calloc
mov rbx, rax
mov qword [0x1401bb098], rax
test rax, rax
je 0x140165037
mov edx, 8
mov rcx, rsi
call sym.calloc
mov qword [0x1401bb210], rax
test rax, rax
je 0x140165037
mov dword [0x1401bb410], esi
imul rsi, rsi, 0x18
add rbx, rsi
mov dword [rbx], edi
call sym.tq_new
mov qword [rbx + 0x10], rax
test rax, rax
je 0x140165037
lea rcx, [rbx + 8]
mov r9, rbx
xor edx, edx
lea r8, [sym.workio_thread]
call sym.pthread_create
mov edi, eax
test eax, eax
jne 0x140165254
cmp byte [0x140167023], 0
mov r8d, dword [0x1401bb4f4]
jne 0x140165120
cmp byte [0x140167020], 0
jne 0x14016519c
test r8d, r8d
jle 0x140165267
lea r12, [sym.miner_thread]
xor esi, esi
xor ebp, ebp
jmp 0x140164ff7
mov r8d, dword [0x1401bb4f4]
add esi, 1
add rbp, 0x18
cmp r8d, esi
jle 0x140165267
mov rbx, qword [0x1401bb098]
add rbx, rbp
mov dword [rbx], esi
call sym.tq_new
mov qword [rbx + 0x10], rax
test rax, rax
je 0x140165037
xor edx, edx
mov r9, rbx
mov r8, r12
lea rcx, [rbx + 8]
call sym.pthread_create
test eax, eax
je 0x140164fe0
lea rdx, str.thread__d_create_failed
mov r8d, esi
xor ecx, ecx
call sym.applog
mov edi, 1
mov eax, edi
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
cmp qword [0x1401bb4e8], 0
jne 0x140164e2a
mov rbx, qword [rbx]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str._s:_no_URL_supplied_n
mov rcx, rax
mov r8, rbx
call sym.fprintf
mov ecx, 1
call sym.show_usage_and_exit
mov dword [0x1401bb4f4], eax
jmp 0x140164ed7
lea rdx, [0x14016fa4e]
xor ecx, ecx
call sym.applog
jmp 0x140165037
mov rcx, qword [0x1401bb4e8]
mov r8d, 8
mov rbx, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
lea rdx, str.https:__
call rbx
test eax, eax
jne 0x140165231
mov ecx, 3
jmp 0x140164e9e
mov rsi, qword [0x1401bb4d8]
mov rcx, rsi
call sym.strlen
mov rdi, qword [0x1401bb4d0]
mov rbx, rax
mov rcx, rdi
call sym.strlen
lea rcx, [rbx + rax + 2]
call sym.malloc
mov rcx, rax
mov qword [0x1401bb4e0], rax
test rax, rax
je 0x140165037
lea rdx, [0x14017009a]
mov r9, rdi
mov r8, rsi
call sym.sprintf
jmp 0x140164e38
cmp byte [0x1401bb0bd], 0
jne 0x140164fbc
add r8d, 1
movsxd rbx, r8d
mov dword [0x140167008], r8d
imul rbx, rbx, 0x18
add rbx, qword [0x1401bb098]
mov dword [rbx], r8d
call sym.tq_new
mov qword [rbx + 0x10], rax
test rax, rax
je 0x140165037
lea r8, [sym.longpoll_thread]
mov r9, rbx
xor edx, edx
lea rcx, [rbx + 8]
call sym.pthread_create
mov r8d, dword [0x1401bb4f4]
test eax, eax
je 0x140164fbc
lea rdx, str.longpoll_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x140165037
call sym.init_randomx_flags
jmp 0x140164ee4
add r8d, 2
movsxd rbx, r8d
mov dword [0x140167004], r8d
imul rbx, rbx, 0x18
add rbx, qword [0x1401bb098]
mov dword [rbx], r8d
call sym.tq_new
mov qword [rbx + 0x10], rax
test rax, rax
je 0x140165037
lea rcx, [rbx + 8]
xor edx, edx
mov r9, rbx
lea r8, [sym.stratum_thread]
call sym.pthread_create
test eax, eax
jne 0x1401652bc
cmp byte [0x1401bb0bd], 0
mov r8d, dword [0x1401bb4f4]
je 0x140164fc9
mov rcx, qword [0x1401bb4e8]
call sym.strdup
movsxd rdx, dword [0x140167004]
imul rdx, rdx, 0x18
add rdx, qword [0x1401bb098]
mov rcx, qword [rdx + 0x10]
mov rdx, rax
call sym.tq_push
mov r8d, dword [0x1401bb4f4]
jmp 0x140164fc9
mov rcx, qword [0x1401bb4e8]
mov r8d, 0xf
lea rdx, str.stratumtcps:__
call rbx
test eax, eax
je 0x1401650c1
jmp 0x140164e99
lea rdx, str.workio_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x140165037
mov edx, dword [0x140167010]
lea rax, str.scrypt
mov ecx, 3
mov r9, qword [rax + rdx*8]
lea rdx, str._d_miner_threads_started__using__s_algorithm.
call sym.applog
movsxd rax, dword [0x1401bb410]
xor edx, edx
imul rax, rax, 0x18
add rax, qword [0x1401bb098]
mov rcx, qword [rax + 8]
call sym.pthread_join
lea rdx, str.workio_thread_dead__exiting.
mov ecx, 3
call sym.applog
jmp 0x14016503c
lea rdx, str.stratum_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x140165037
lea rcx, str.pthread_barrier_init_failed__n
call sym.printf
mov ecx, 1
call sym.exit
mov rsi, qword [rbx + rax*8]
mov ecx, 2
mov rbx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
lea rdx, str._s:_unsupported_non_option_argument_____s_n
mov rcx, rax
mov r9, rsi
mov r8, rbx
call sym.fprintf
mov ecx, 1
call sym.show_usage_and_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop