Function at 0x1402b0ec0
Capabilities:
Get system information on windows

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rdi, [0x1402b3490]
lea rbp, [0x1402b4f80]
mov ebx, ecx
mov rsi, rdx
call dbg.__main
xor edx, edx
lea rcx, [0x140326060]
call sym.pthread_mutex_init
lea rcx, str._n___________cpuminer_flex_1.0____n
call sym.winansi_printf
lea rcx, str._____A_CPU_miner_with_multi_algo_support_and_optimized_for_CPUs_n
call sym.winansi_printf
lea rcx, str._____with_AVX512__SHA_and_VAES_extensions_by_JayDDee__n
call sym.winansi_printf
lea rcx, str._____modified_by_JayBitron._n
call sym.winansi_printf
lea rcx, str._____BTC_donation_address:_bc1qm83mf2l7cm3sff6prn9hqdkfs04ptfwvhz0xca_n_n
call sym.winansi_printf
mov rcx, rdi
call sym.strdup
mov rcx, rdi
lea rdi, str.a:b:Bc:CDf:hK:m:n:N:p:Px:qr:R:s:t:T:o:u:O:V
mov qword [0x140326618], rax
call sym.strdup
lea rcx, [rsp + 0x40]
mov qword [0x140326610], rax
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x60]
mov edx, 1
mov r12, qword [0x140311da0]
test eax, eax
cmovle eax, edx
mov dword [0x1402b205c], eax
mov dword [0x140326638], eax
jmp 0x1402b0f91
mov rdx, qword [r12]
call sym.parse_arg
mov ecx, ebx
mov r9, rbp
mov r8, rdi
mov rdx, rsi
mov qword [rsp + 0x20], 0
call dbg.getopt_long
mov ecx, eax
test eax, eax
jns 0x1402b0f88
mov rax, qword [0x140311db0]
movsxd rax, dword [rax]
cmp ebx, eax
jg 0x1402b193e
mov ecx, dword [0x140326650]
test ecx, ecx
je 0x1402b1914
mov r8d, dword [0x140326ca4]
test r8d, r8d
je 0x1402b1441
mov edx, dword [0x140326cac]
test edx, edx
jne 0x1402b147c
lea rdx, [0x140326660]
call sym.register_algo_gate
test al, al
je 0x1402b18eb
xor ecx, ecx
call sym.cpu_capability
test al, al
je 0x1402b18eb
cmp byte [0x14032665a], 0
je 0x1402b1409
cmp qword [0x140326620], 0
je 0x1402b16c3
mov r8, qword [0x140326600]
test r8, r8
je 0x1402b105b
movsxd rdx, dword [0x1402b2054]
lea rcx, [0x140326c70]
call sym.address_to_script
mov qword [0x140326c68], rax
test rax, rax
je 0x1402b145d
lea rsi, [0x140326058]
xor edx, edx
mov rcx, rsi
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x140326048]
call sym.pthread_rwlock_init
xor edx, edx
lea rcx, [0x140326230]
call sym.pthread_mutex_init
xor edx, edx
lea rcx, [0x140326580]
call sym.pthread_mutex_init
cmp byte [0x14032665a], 0
je 0x1402b14b1
mov ecx, 3
call qword [sym.imp.libcurl_4.dll_curl_global_init]
test eax, eax
jne 0x1402b149b
mov edx, 1
lea rcx, [sym.ConsoleHandler]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
cmp byte [0x140326cb0], 0
jne 0x1402b1534
mov eax, dword [0x140326630]
test eax, eax
jle 0x1402b1101
sub eax, 1
mov ebx, 0x20
cmp eax, 4
jbe 0x1402b1553
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
movsxd rcx, dword [0x140326638]
mov edx, 1
mov rbp, rcx
call sym.calloc
mov ebx, dword [0x1402b205c]
mov qword [0x140326090], rax
cmp ebp, ebx
cmovl ebp, ebx
movsxd r11, ebp
lea rdi, [r11*4]
mov rcx, rdi
call sym.malloc
mov qword [0x1403269e0], rax
mov r10, rax
test rax, rax
je 0x1402b18f5
mov r8, qword [0x1402b2060]
test r8, r8
je 0x1402b11bf
test ebp, ebp
jle 0x1402b18aa
lea r11, [rax + rdi]
xor ecx, ecx
mov edi, dword [0x1402b205c]
xor r9d, r9d
jmp 0x1402b117b
add ecx, 1
bt r8, rcx
jae 0x1402b1178
mov eax, ecx
cdq
idiv ebx
xor eax, eax
cmp edi, ecx
mov ebx, edi
setg al
add r10, 4
add ecx, 1
add r9d, eax
mov dword [r10 - 4], edx
cmp r10, r11
jne 0x1402b117b
mov r8d, dword [0x140326638]
cmp r8d, r9d
jg 0x1402b1571
cmp byte [0x140326655], 0
je 0x1402b1587
movsxd rdi, dword [0x140326638]
mov edx, pe_nt_image_headers64
mov rcx, rdi
call sym.calloc
mov qword [0x1403265c0], rax
test rax, rax
je 0x1402b13f0
lea ecx, [rdi + 4]
mov edx, 0x50
movsxd rcx, ecx
call sym.calloc
mov qword [0x1403265d0], rax
mov rbx, rax
test rax, rax
je 0x1402b13f0
mov edx, 8
mov rcx, rdi
call sym.calloc
mov qword [0x1403260d8], rax
test rax, rax
je 0x1402b13f0
imul rax, rdi, 0x50
mov dword [0x1403265cc], edi
add rbx, rax
mov dword [rbx], edi
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1402b13f0
mov rcx, qword [0x140326610]
test rcx, rcx
je 0x1402b1286
mov rdi, qword [0x140326618]
test rdi, rdi
je 0x1402b1286
lea rdx, str.stats
call sym.strstr
mov rdx, rax
mov eax, 1
test rdx, rdx
je 0x1402b168d
mov byte [0x1403260f9], al
and byte [0x1403260f9], 1
lea rdx, [sym.workio_thread]
mov rcx, rbx
call sym.thread_create
mov r12d, eax
test eax, eax
jne 0x1402b1718
cmp byte [0x140326659], 0
movzx eax, byte [0x140326657]
je 0x1402b130f
movzx edx, byte [0x14032665d]
test al, al
jne 0x1402b15f5
test dl, dl
jne 0x1402b1894
mov eax, dword [0x140326638]
add eax, 1
movsxd rbx, eax
mov dword [0x1402b2050], eax
imul rbx, rbx, 0x50
add rbx, qword [0x1403265d0]
mov dword [rbx], eax
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1402b13f0
lea rdx, [sym.longpoll_thread]
mov rcx, rbx
call sym.thread_create
test eax, eax
jne 0x1402b1844
cmp byte [0x140326657], 0
jne 0x1402b15f5
cmp byte [0x140326be0], 0
je 0x1402b1387
cmp byte [0x14032665d], 0
jne 0x1402b182e
mov eax, dword [0x140326638]
add eax, 3
movsxd rbx, eax
mov dword [0x1402b2048], eax
imul rbx, rbx, 0x50
add rbx, qword [0x1403265d0]
mov dword [rbx], eax
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1402b13f0
mov rdx, qword [sym.api_thread]
mov rcx, rbx
call sym.thread_create
test eax, eax
jne 0x1402b18c8
cmp byte [0x140326655], 0
je 0x1402b1870
mov rcx, rsi
xor edi, edi
lea r13, [sym.miner_thread]
xor ebp, ebp
call sym.pthread_mutex_lock
cmp dword [0x140326638], 0
jg 0x1402b13d6
jmp 0x1402b172e
mov rdx, r13
mov rcx, rbx
call sym.thread_create
test eax, eax
jne 0x1402b17f6
add edi, 1
add rbp, 0x50
cmp dword [0x140326638], edi
jle 0x1402b172e
mov rbx, qword [0x1403265d0]
add rbx, rbp
mov dword [rbx], edi
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
jne 0x1402b13b0
mov r12d, 1
mov eax, r12d
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp qword [0x140326608], 0
jne 0x1402b101e
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
cmp byte [0x140326657], 0
je 0x1402b151c
mov dword [0x140326ca4], 0x1e
jmp 0x1402b0fe0
mov r8, qword [0x140326600]
mov ecx, 1
lea rdx, str.Invalid_coinbase_address:__s
call sym.applog
xor ecx, ecx
call sym.exit
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
add eax, dword [0x140326cac]
mov ecx, dword [0x140326650]
mov dword [0x140326ca8], eax
jmp 0x1402b0fee
lea rdx, [0x1402b3f10]
mov ecx, 1
call sym.applog
jmp 0x1402b13f0
mov rcx, qword [0x140326628]
mov rbx, qword [sym.imp.msvcrt.dll__strnicmp]
mov r8d, 6
lea rdx, str.https:
call rbx
test eax, eax
je 0x1402b10a3
mov rcx, qword [0x140326628]
mov r8d, 0xe
lea rdx, str.stratumssl:__
call rbx
test eax, eax
je 0x1402b10a3
mov rcx, qword [0x140326628]
mov r8d, 0xf
lea rdx, str.stratumtcps:__
call rbx
test eax, eax
je 0x1402b10a3
mov ecx, 2
jmp 0x1402b10a8
cmp byte [0x140326658], 0
je 0x1402b1562
mov dword [0x140326ca4], 0x3c
jmp 0x1402b0fe0
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
test rax, rax
je 0x1402b180f
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x1402b10d5
lea rdx, [0x1402b4bf0]
mov ebx, dword [rdx + rax*4]
jmp 0x1402b10f0
mov dword [0x140326ca4], 5
jmp 0x1402b0fe0
lea rdx, str.Affinity:_more_threads___d__than_active_CPUs___d_
mov ecx, 2
call sym.applog
jmp 0x1402b11b2
mov eax, dword [0x1402b205c]
mov r9d, 0x40
mov rdx, qword [0x1402b2060]
cmp eax, r9d
cmovle r9d, eax
test eax, eax
jle 0x1402b18de
xor eax, eax
lea r8, [rsp + 0x70]
test dl, 1
jne 0x1402b16a9
mov byte [r8 + rax], 0x2e
add rax, 1
shr rdx, 1
cmp r9d, eax
jg 0x1402b15b0
movsxd rdx, r9d
mov ecx, 0x40
xor eax, eax
add rdx, r8
sub ecx, r9d
mov rdi, rdx
lea rdx, str.CPU_affinity___s_
rep stosb byte [rdi], al
mov ecx, 4
call sym.applog
jmp 0x1402b11bf
cmp byte [0x14032665d], 0
jne 0x1402b185a
mov eax, dword [0x140326638]
mov byte [0x14032658c], 0
add eax, 2
movsxd rbx, eax
mov dword [0x1402b204c], eax
imul rbx, rbx, 0x50
add rbx, qword [0x1403265d0]
mov dword [rbx], eax
call sym.tq_new
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1402b13f0
lea rdx, [sym.stratum_thread]
mov rcx, rbx
call sym.thread_create
test eax, eax
jne 0x1402b18b2
cmp byte [0x140326657], 0
je 0x1402b131c
mov rcx, qword [0x140326628]
call sym.strdup
mov rdx, rax
movsxd rax, dword [0x1402b204c]
imul rax, rax, 0x50
add rax, qword [0x1403265d0]
mov rcx, qword [rax + 0x20]
call sym.tq_push
jmp 0x1402b131c
lea rdx, str.benchmark
mov rcx, rdi
call sym.strcmp
test eax, eax
sete al
movzx eax, al
jmp 0x1402b1279
mov byte [r8 + rax], 0x21
add rax, 1
shr rdx, 1
cmp r9d, eax
jg 0x1402b15b0
jmp 0x1402b15ca
mov rsi, qword [0x140326618]
mov rcx, rsi
call sym.strlen
mov rdi, qword [0x140326610]
mov rbx, rax
mov rcx, rdi
call sym.strlen
lea rcx, [rbx + rax + 2]
call sym.malloc
mov qword [0x140326620], rax
mov rcx, rax
test rax, rax
je 0x1402b13f0
mov r9, rdi
mov r8, rsi
lea rdx, str._s:_s
call sym.sprintf
jmp 0x1402b102c
lea rdx, str.work_thread_create_failed
mov ecx, 1
call sym.applog
jmp 0x1402b13f0
lea rdx, [0x140326720]
xor eax, eax
mov ecx, 0x58
mov rdi, rdx
xor edx, edx
rep stosq qword [rdi], rax
lea rcx, [0x140326708]
call dbg.gettimeofday
mov rax, qword [0x140326708]
mov rcx, rsi
mov qword [0x140326bd0], rax
mov qword [0x140326bd8], rax
mov qword [0x140326c98], rax
mov qword [0x140326c90], rax
mov qword [0x1403260c0], rax
call sym.pthread_mutex_unlock
mov edx, dword [0x140326650]
lea rax, [0x1402b77e0]
mov r9d, dword [0x1402b205c]
mov r8d, dword [0x140326638]
mov ecx, 4
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
movsxd rax, dword [0x1403265cc]
lea rcx, [rsp + 0x30]
xor edx, edx
imul rax, rax, 0x50
add rax, qword [0x1403265d0]
vmovdqu xmm0, xmmword [rax + 8]
vmovdqu xmmword [rsp + 0x30], xmm0
call sym.pthread_join
lea rdx, str.workio_thread_dead__exiting.
mov ecx, 2
call sym.applog
jmp 0x1402b13f6
mov r8d, edi
lea rdx, str.Miner_thread__d_create_failed
mov ecx, 1
call sym.applog
jmp 0x1402b13f0
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 0x1402b10d5
lea rdx, str.Creating_API_thread
mov ecx, 4
call sym.applog
jmp 0x1402b1332
lea rdx, str.Long_poll_thread_create_failed
mov ecx, 1
call sym.applog
jmp 0x1402b13f0
lea rdx, str.Creating_stratum_thread
mov ecx, 4
call sym.applog
jmp 0x1402b1602
mov r9d, dword [0x14032606c]
mov r8, qword [0x140326070]
mov ecx, 4
lea rdx, str.API_listening_to__s:_d
call sym.applog
jmp 0x1402b1387
lea rdx, str.Creating_long_poll_thread
mov ecx, 4
call sym.applog
jmp 0x1402b12c7
xor r9d, r9d
jmp 0x1402b11a2
lea rdx, str.Stratum_thread_create_failed
mov ecx, 1
call sym.applog
jmp 0x1402b13f0
lea rdx, str.API_thread_create_failed
mov ecx, 1
call sym.applog
jmp 0x1402b13f0
xor r9d, r9d
lea r8, [rsp + 0x70]
jmp 0x1402b15ca
mov ecx, 1
call sym.exit
lea rdx, str.CPU_Affinity_disabled__memory_allocation_failed
mov ecx, 1
call sym.applog
xor eax, eax
mov qword [0x1402b2060], rax
jmp 0x1402b11bf
mov rbx, qword [rsi]
mov ecx, 2
call qword [dbg.__acrt_iob_func]
lea rdx, str._s:_No_algo_parameter_specified_n
mov rcx, rax
mov r8, rbx
call sym.winansi_fprintf
mov ecx, 1
call sym.show_usage_and_exit
mov rdi, qword [rsi + rax*8]
mov rbx, qword [rsi]
mov ecx, 2
call qword [dbg.__acrt_iob_func]
lea rdx, str._s:_unsupported_non_option_argument_____s_n
mov rcx, rax
mov r9, rdi
mov r8, rbx
call sym.winansi_fprintf
mov ecx, 1
call sym.show_usage_and_exit
nop