Function at 0x1401aaba0
Capabilities:
Get system information on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rdi, [0x1401ae4a7]
lea rbp, [0x1401afd20]
mov ebx, ecx
mov rsi, rdx
call sym.__main
xor edx, edx
lea rcx, [0x1402090d8]
call sym.pthread_mutex_init
lea rcx, str._cpuminer_multi_1.3.9.4_for_CPU_by_cpuminer__n_n
call sym.winansi_printf
lea rcx, str._____Built_with_Visual_Studio_2019_and_Windows_SDK_10.0_Develop__n
call sym.winansi_printf
lea rcx, str._____Originally_based_on_Christian_Buchner_and_Christian_H._project__n_n
call sym.winansi_printf
lea rcx, str._____No_dev_donation_set._Please_consider_making_a_one_time_donation_to_the_following_addresses__n_n
call sym.winansi_printf
lea rcx, str._____BTC_donation_address:_1EmzLjdAzrcRgRUp88DVsgx1dTMDwCS4jB__Dev__n
call sym.winansi_printf
lea rcx, str._____LTC_donation_address:_LYzwbww15WrUwEAyJGCo9i1mqfiW5meNXL__Dev__n_n_n
call sym.winansi_printf
mov rcx, rdi
call sym.strdup
mov rcx, rdi
lea rdi, str.a:b:Bc:CDf:hm:n:p:Px:qr:R:s:t:T:o:u:O:V
mov qword [0x140209510], rax
call sym.strdup
lea rcx, [0x1401af8f7]
mov qword [0x140209508], rax
call sym.strdup
lea rcx, [rsp + 0x40]
mov qword [0x140209048], rax
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, 1
mov eax, dword [rsp + 0x60]
mov r12, qword [0x1401fd770]
test eax, eax
cmovle eax, edx
mov dword [0x1401ac020], eax
mov dword [0x140209530], eax
jmp 0x1401aac99
mov rdx, qword [r12]
call sym.parse_arg
mov ecx, ebx
mov qword [rsp + 0x20], 0
mov r9, rbp
mov r8, rdi
mov rdx, rsi
call dbg.getopt_long
mov ecx, eax
test eax, eax
jns 0x1401aac90
mov rax, qword [0x1401fd780]
movsxd rax, dword [rax]
cmp ebx, eax
jg 0x1401ab551
cmp byte [0x14020953b], 0
jne 0x1401ab127
mov edx, dword [0x140209530]
test edx, edx
je 0x1401ab017
mov eax, dword [0x1401ac038]
cmp eax, 4
je 0x1401ab258
lea edx, [rax - 0xe]
cmp edx, 1
jbe 0x1401ab1f2
cmp eax, 0x10
je 0x1401ab032
cmp eax, 0x2a
je 0x1401ab032
cmp byte [0x14020953a], 0
jne 0x1401aad29
cmp qword [0x140209520], 0
je 0x1401ab30a
cmp qword [0x140209518], 0
je 0x1401ab17e
xor edx, edx
lea rcx, [0x1402090d0]
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x140209670]
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x1402090e8]
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x1402090e0]
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x1402092b0]
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x1402094b8]
call sym.pthread_mutex_init
cmp byte [0x14020953a], 0
je 0x1401ab0bc
mov ecx, 3
call qword [sym.imp.libcurl_4.dll_curl_global_init]
test eax, eax
jne 0x1401ab0a9
mov edx, 1
lea rcx, [sym.ConsoleHandler]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
cmp byte [0x140209870], 0
jne 0x1401ab1d3
mov eax, dword [0x140209528]
test eax, eax
jle 0x1401aadf5
dec eax
mov ebx, 0x20
cmp eax, 4
jbe 0x1401ab262
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
mov r9, qword [0x1401ac028]
test r9, r9
je 0x1401ab09e
mov r10d, dword [0x1401ac020]
cmp r10d, 0x100
jg 0x1401ab484
mov esi, dword [0x140209530]
test esi, esi
jle 0x1401aae5c
lea r8, [0x140209560]
movsxd r11, esi
xor ecx, ecx
add r11, r8
jmp 0x1401aae42
inc ecx
bt r9, rcx
jae 0x1401aae40
mov eax, ecx
inc r8
inc ecx
cdq
idiv r10d
mov byte [r8 - 1], dl
cmp r8, r11
jne 0x1401aae42
cmp byte [0x140209535], 0
je 0x1401ab03e
movsxd rdi, esi
mov edx, pe_nt_image_headers64
mov rcx, rdi
call sym.calloc
mov qword [0x1402094c8], rax
test rax, rax
je 0x1401ab000
lea ecx, [rsi + 4]
mov edx, 0x50
movsxd rcx, ecx
call sym.calloc
mov rbx, rax
mov qword [0x1402094d8], rax
test rax, rax
je 0x1401ab000
mov edx, 8
mov rcx, rdi
call sym.calloc
mov qword [0x1402090a8], rax
test rax, rax
je 0x1401ab000
imul rdi, rdi, 0x50
mov dword [0x1402094d4], esi
add rbx, rdi
mov dword [rbx], esi
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1401ab000
mov rcx, qword [0x140209508]
test rcx, rcx
je 0x1401aaf2c
mov rsi, qword [0x140209510]
test rsi, rsi
je 0x1401aaf2c
lea rdx, str.stats
call sym.strstr
mov rdx, rax
mov eax, 1
test rdx, rdx
je 0x1401ab271
mov byte [0x140209537], al
and byte [0x140209537], 1
lea rdx, [sym.workio_thread]
mov rcx, rbx
call sym.thread_create
mov ebp, eax
test eax, eax
jne 0x1401ab459
cmp byte [0x1401ac055], 0
mov esi, dword [0x140209530]
je 0x1401aaf61
cmp byte [0x140209538], 0
je 0x1401ab28d
cmp byte [0x1401ac052], 0
jne 0x1401ab342
cmp dword [section..data], 0
jne 0x1401ab3cf
mov r8d, esi
xor edi, edi
xor esi, esi
lea r12, [sym.miner_thread]
test r8d, r8d
jg 0x1401aafe6
jmp 0x1401ab4af
lea r13, [rbx + 0x18]
mov rcx, r13
call sym.pthread_attr_init
lea rcx, [rbx + 8]
mov r9, rbx
mov r8, r12
mov rdx, r13
call sym.pthread_create
mov rcx, r13
mov ebx, eax
call sym.pthread_attr_destroy
test ebx, ebx
jne 0x1401ab51c
mov r8d, dword [0x140209530]
inc esi
add rdi, 0x50
cmp r8d, esi
jle 0x1401ab4af
mov rbx, qword [0x1402094d8]
add rbx, rdi
mov dword [rbx], esi
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x1401aafa0
mov ebp, 1
mov eax, ebp
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov eax, dword [0x1401ac020]
mov edx, 1
test eax, eax
cmove eax, edx
mov dword [0x140209530], eax
jmp 0x1401aace5
mov byte [0x1401ac054], 0
jmp 0x1401aad12
mov edx, 0x40
cmp r10d, edx
cmovle edx, r10d
test r10d, r10d
jle 0x1401ab545
xor eax, eax
lea r8, [rsp + 0x70]
nop word [rax + rax]
test r9b, 1
jne 0x1401ab46c
mov byte [r8 + rax], 0x2e
inc rax
shr r9, 1
cmp edx, eax
jg 0x1401ab060
movsxd r9, edx
mov ecx, 0x40
xor eax, eax
add r9, r8
sub ecx, edx
lea rdx, str.CPU_affinity___s_
mov rdi, r9
rep stosb byte [rdi], al
mov ecx, 3
call sym.applog
mov esi, dword [0x140209530]
jmp 0x1401aae69
lea rdx, [0x1401af1ef]
xor ecx, ecx
call sym.applog
jmp 0x1401ab000
mov rcx, qword [0x140209520]
mov rbx, qword [sym.imp.msvcrt.dll__strnicmp]
mov r8d, 6
lea rdx, str.https:
call rbx
test eax, eax
je 0x1401aad98
mov rcx, qword [0x140209520]
mov r8d, 0xe
lea rdx, str.stratumssl:__
call rbx
test eax, eax
je 0x1401aad98
mov rcx, qword [0x140209520]
mov r8d, 0xf
lea rdx, str.stratumtcps:__
call rbx
test eax, eax
je 0x1401aad98
mov ecx, 2
jmp 0x1401aad9d
mov ecx, 3
call qword [sym.imp.libcurl_4.dll_curl_version_info]
lea rdx, str.using_libcurl__s
mov ecx, 4
mov r8, qword [rax + 8]
mov rbx, rax
call sym.applog
mov ebx, dword [rbx + 0x20]
test bl, 1
jne 0x1401ab443
test bl, 4
jne 0x1401ab42d
and bh, 4
je 0x1401aacd7
lea rdx, str.libcurl_supports_international_domain_names
mov ecx, 4
call sym.applog
jmp 0x1401aacd7
mov rsi, qword [0x140209510]
mov rcx, rsi
call sym.strlen
mov rdi, qword [0x140209508]
mov rbx, rax
mov rcx, rdi
call sym.strlen
lea rcx, [rbx + rax + 2]
call sym.malloc
mov rcx, rax
mov qword [0x140209518], rax
test rax, rax
je 0x1401ab000
mov r9, rdi
mov r8, rsi
lea rdx, str._s:_s
call sym.sprintf
jmp 0x1401aad37
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
test rax, rax
je 0x1401ab2eb
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x1401aadca
mov byte [0x140209160], 1
mov byte [0x1401ac056], 0
call sym.has_aes_ni
cmp byte [0x140209535], 0
mov byte [0x1402090f0], al
jne 0x1401aad12
lea rdx, str.Using_JSON_RPC_2.0
mov ecx, 3
call sym.applog
cmp byte [0x1402090f0], 0
lea rax, [0x1401af72c]
lea r8, [0x1401af730]
lea rdx, str.CPU_Supports_AES_NI:__s
mov ecx, 3
cmovne r8, rax
call sym.applog
jmp 0x1401aad12
call sym.init_quarkhash_contexts
jmp 0x1401aad12
lea rdx, [0x1401afb30]
mov ebx, dword [rdx + rax*4]
jmp 0x1401aade4
lea rdx, str.benchmark
mov rcx, rsi
call sym.strcmp
test eax, eax
sete al
movzx eax, al
jmp 0x1401aaf1f
lea r8d, [rsi + 1]
movsxd rbx, r8d
mov dword [0x1401ac018], r8d
imul rbx, rbx, 0x50
add rbx, qword [0x1402094d8]
mov dword [rbx], r8d
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1401ab000
lea rdx, [sym.longpoll_thread]
mov rcx, rbx
call sym.thread_create
mov esi, dword [0x140209530]
test eax, eax
je 0x1401aaf61
lea rdx, str.long_poll_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x1401ab000
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_FreeConsole]
jmp 0x1401aadca
cmp qword [0x140209500], 0
jne 0x1401aad29
mov rbx, qword [rsi]
mov ecx, 2
call qword [dbg.__acrt_iob_func]
lea rdx, str._s:_no_URL_supplied_n
mov rcx, rax
mov r8, rbx
call sym.winansi_fprintf
mov ecx, 1
call sym.show_usage_and_exit
lea r8d, [rsi + 2]
movsxd rbx, r8d
mov dword [0x1401ac014], r8d
imul rbx, rbx, 0x50
add rbx, qword [0x1402094d8]
mov dword [rbx], r8d
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1401ab000
lea rdx, [sym.stratum_thread]
mov rcx, rbx
call sym.thread_create
test eax, eax
jne 0x1401ab532
cmp byte [0x140209538], 0
mov esi, dword [0x140209530]
je 0x1401aaf6e
mov rcx, qword [0x140209520]
call sym.strdup
mov rdx, rax
movsxd rax, dword [0x1401ac014]
imul rax, rax, 0x50
add rax, qword [0x1402094d8]
mov rcx, qword [rax + 0x20]
call sym.tq_push
mov esi, dword [0x140209530]
jmp 0x1401aaf6e
lea r8d, [rsi + 3]
movsxd rbx, r8d
mov dword [0x1401ac010], r8d
imul rbx, rbx, 0x50
add rbx, qword [0x1402094d8]
mov dword [rbx], r8d
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1401ab000
mov rdx, qword [sym.api_thread]
mov rcx, rbx
call sym.thread_create
mov esi, dword [0x140209530]
test eax, eax
je 0x1401aaf7b
lea rdx, str.api_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x1401ab000
lea rdx, str.libcurl_supports_SSL
mov ecx, 4
call sym.applog
jmp 0x1401ab15f
lea rdx, str.libcurl_supports_IPv6
mov ecx, 4
call sym.applog
jmp 0x1401ab156
lea rdx, str.work_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x1401ab000
mov byte [r8 + rax], 0x21
inc rax
shr r9, 1
cmp edx, eax
jg 0x1401ab060
jmp 0x1401ab079
mov r8d, 0x100
lea rdx, str.More_than__d_CPUs__CPU_affinity_is_disabled
mov ecx, 1
call sym.applog
xor eax, eax
mov esi, dword [0x140209530]
mov qword [0x1401ac028], rax
jmp 0x1401aae69
mov edx, dword [0x1401ac038]
lea rax, [0x1401b2300]
mov r9d, dword [0x1401ac020]
mov ecx, 3
mov rax, qword [rax + rdx*8]
lea rdx, str._d_of__d_miner_threads_started_using__s_algorithm
mov qword [rsp + 0x20], rax
call sym.applog
lea rcx, [rsp + 0x30]
xor edx, edx
movsxd rax, dword [0x1402094d4]
imul rax, rax, 0x50
add rax, qword [0x1402094d8]
vmovdqu xmm0, xmmword [rax + 8]
vmovdqu xmmword [rsp + 0x30], xmm0
call sym.pthread_join
lea rdx, str.workio_thread_dead__exiting.
mov ecx, 1
call sym.applog
jmp 0x1401ab005
mov r8d, esi
lea rdx, str.thread__d_create_failed
xor ecx, ecx
call sym.applog
jmp 0x1401ab000
lea rdx, str.stratum_thread_create_failed
xor ecx, ecx
call sym.applog
jmp 0x1401ab000
xor edx, edx
lea r8, [rsp + 0x70]
jmp 0x1401ab079
mov rdi, qword [rsi + rax*8]
mov rbx, qword [rsi]
mov ecx, 2
call qword [dbg.__acrt_iob_func]
mov rcx, rax
lea rdx, str._s:_unsupported_non_option_argument_____s_n
mov r9, rdi
mov r8, rbx
call sym.winansi_fprintf
mov ecx, 1
call sym.show_usage_and_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop