Function at 0x5ea840
Capabilities:
Get system information on windows

Disassembly:
cmp dword [rdi], 0x10
ja 0x5eb320
mov eax, dword [rdi]
movsxd rax, dword [rbp + rax*4]
add rax, rbp
jmp rax
movdqu xmm3, xmmword [rbx + 0x30]
movdqu xmm4, xmmword [rbx]
movups xmmword [rbx + 0x70], xmm3
movzx edx, byte [rbx + 0x7f]
movdqu xmm5, xmmword [rbx + 0x10]
movups xmmword [rbx + 0x40], xmm4
movdqu xmm2, xmmword [rbx + 0x20]
movups xmmword [rbx + 0x50], xmm5
and edx, 1
movups xmmword [rbx + 0x60], xmm2
mov rdi, qword [rdi + rdx*8 + 8]
test rdi, rdi
je 0x595784
test cl, cl
jne 0x5956ee
mov rax, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
mov qword [r14], rax
mov rax, qword [r12 + 0x10]
mov qword [r14 + 8], rdx
mov rdx, qword [r12 + 0x18]
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rdx
mov eax, r8d
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb0
lea rbp, [0x005eef60]
lea rdi, str.a:b:Bc:CDf:hK:m:n:N:p:Px:qr:R:s:t:T:o:u:O:V
mov ebx, ecx
mov rsi, rdx
call fcn.005e2410
lea rcx, [0x0065f8a0]
xor edx, edx
call fcn.005b7500
lea rcx, str._n___________cpuminer_opt_24.5____n
call fcn.005af060
lea rcx, str._____A_CPU_miner_with_multi_algo_support_and_optimized_for_CPUs_n
call fcn.005af060
lea rcx, str._____with_AVX512__SHA__AES_and_NEON_extensions_by_JayDDee._n
call fcn.005af060
lea rcx, str._____BTC_donation_address:_12tdvfF7KmAsihBXQXynT6E6th2c2pByTT_n_n
call fcn.005af060
lea rcx, [0x005ed002]
call sub.msvcrt.dll__strdup
lea rcx, [0x005ed002]
mov qword [0x0065f8b0], rax
call sub.msvcrt.dll__strdup
lea rcx, [rsp + 0x40]
mov qword [0x0065f318], rax
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rsp + 0x60]
mov edx, 1
mov r12, qword [0x0064b400]
test eax, eax
cmovle eax, edx
mov dword [0x005ec05c], eax
mov dword [0x0065c110], eax
jmp 0x5ea909
mov rdx, qword [r12]
call fcn.00409500
mov ecx, ebx
mov r9, rbp
mov r8, rdi
mov qword [rsp + 0x20], 0
mov rdx, rsi
call fcn.005e4aa0
mov ecx, eax
test eax, eax
jns 0x5ea900
mov rax, qword [0x0064b410]
movsxd rax, dword [rax]
cmp ebx, eax
jg 0x5eb2eb
mov ecx, dword [0x0065c128]
test ecx, ecx
je 0x5eb2c1
mov edx, dword [0x0065c6e4]
test edx, edx
je 0x5eadc0
mov eax, dword [0x0065c6ec]
test eax, eax
jne 0x5eadfb
lea rdx, [0x0065f800]
call fcn.00413150
test al, al
je 0x5eb296
xor ecx, ecx
call fcn.00401e10
test al, al
je 0x5eb296
cmp byte [0x0065c132], 0
je 0x5ead88
cmp qword [0x0065c0f8], 0
je 0x5eb04e
mov r8, qword [0x0065f300]
test r8, r8
je 0x5ea9d1
movsxd rdx, dword [0x005ec054]
lea rcx, [0x0065c6b0]
call fcn.0040caa0
mov qword [0x0065c6a8], rax
test rax, rax
je 0x5eaddc
lea r12, [0x0065f8a8]
xor edx, edx
mov rcx, r12
call fcn.005b7500
lea rcx, [0x0065f310]
xor edx, edx
call fcn.005bdfa0
lea rcx, [0x0065f470]
xor edx, edx
call fcn.005b7500
lea rcx, [0x0065f7c0]
xor edx, edx
call fcn.005b7500
cmp byte [0x0065c132], 0
je 0x5eae36
mov ecx, 3
call qword [sym.imp.libcurl_4.dll_curl_global_init]
test eax, eax
jne 0x5eae1a
lea rcx, [0x004041f0]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
cmp byte [0x0065c6f0], 0
jne 0x5eaeb9
mov eax, dword [0x0065c108]
test eax, eax
jle 0x5eaa79
sub eax, 1
mov r13d, 0x20
cmp eax, 4
jbe 0x5eaed8
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, r13d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
movsxd rcx, dword [0x0065c110]
mov edx, 1
mov rsi, rcx
call sub.msvcrt.dll_calloc
mov ebx, dword [0x005ec05c]
mov qword [0x0065c070], rax
cmp esi, ebx
cmovl esi, ebx
movsxd rcx, esi
shl rcx, 2
call sub.msvcrt.dll_malloc
mov r10, rax
mov qword [0x0065c420], rax
test rax, rax
je 0x5eb2a0
mov r8, qword [0x005ec060]
test r8, r8
je 0x5eab39
test esi, esi
jle 0x5eb254
lea eax, [rsi - 1]
mov r11d, dword [0x005ec05c]
xor ecx, ecx
xor r9d, r9d
lea rsi, [r10 + rax*4 + 4]
jmp 0x5eaaf3
add ecx, 1
bt r8, rcx
jae 0x5eaaf0
mov eax, ecx
cdq
idiv ebx
xor eax, eax
cmp r11d, ecx
setg al
add r10, 4
mov ebx, r11d
add r9d, eax
add ecx, 1
mov dword [r10 - 4], edx
cmp rsi, r10
jne 0x5eaaf3
mov r8d, dword [0x0065c110]
cmp r8d, r9d
jg 0x5eaef7
cmp byte [0x0065c12d], 0
je 0x5eaf0d
movsxd r13, dword [0x0065c110]
mov edx, pe_nt_image_headers64
mov rcx, r13
mov rsi, r13
call sub.msvcrt.dll_calloc
mov qword [0x0065c0d8], rax
test rax, rax
je 0x5ead6d
lea ecx, [r13 + 4]
mov edx, 0x50
movsxd rcx, ecx
call sub.msvcrt.dll_calloc
mov rbx, rax
mov qword [0x0065f898], rax
test rax, rax
je 0x5ead6d
mov edx, 8
mov rcx, r13
call sub.msvcrt.dll_calloc
mov qword [0x0065f8c0], rax
test rax, rax
je 0x5ead6d
mov dword [0x0065f320], r13d
imul r13, r13, 0x50
add r13, rbx
mov dword [r13], esi
call fcn.00410da0
mov qword [r13 + 0x20], rax
test rax, rax
je 0x5ead6d
mov rcx, qword [0x0065f318]
test rcx, rcx
je 0x5eac07
mov r14, qword [0x0065f8b0]
test r14, r14
je 0x5eac07
lea rdx, str.stats
call sub.msvcrt.dll_strstr
mov r8, rax
mov eax, 1
test r8, r8
je 0x5eb032
mov byte [0x0065c0d1], al
and byte [0x0065c0d1], 1
mov rcx, r13
lea rdx, [0x00406f60]
call fcn.00403810
mov r13d, eax
test eax, eax
jne 0x5eb0b1
cmp byte [0x0065c131], 0
je 0x5eac8d
cmp byte [0x0065c12f], 0
jne 0x5eaf99
cmp byte [0x0065c135], 0
jne 0x5eb23e
mov eax, dword [0x0065c110]
add eax, 1
movsxd r14, eax
mov dword [0x005ec050], eax
imul r14, r14, 0x50
add r14, qword [0x0065f898]
mov dword [r14], eax
call fcn.00410da0
mov qword [r14 + 0x20], rax
test rax, rax
je 0x5ead6d
lea rdx, [0x00403bb0]
mov rcx, r14
call fcn.00403810
test eax, eax
jne 0x5eb1e8
cmp byte [0x0065c12f], 0
jne 0x5eaf99
cmp byte [0x0065c620], 0
je 0x5ead06
cmp byte [0x0065c135], 0
jne 0x5eb1d2
mov eax, dword [0x0065c110]
add eax, 3
movsxd r14, eax
mov dword [0x005ec048], eax
imul r14, r14, 0x50
add r14, qword [0x0065f898]
mov dword [r14], eax
call fcn.00410da0
mov qword [r14 + 0x20], rax
test rax, rax
je 0x5ead6d
lea rdx, [0x00412e70]
mov rcx, r14
call fcn.00403810
test eax, eax
jne 0x5eb278
cmp byte [0x0065c12d], 0
je 0x5eb21a
mov rcx, r12
call fcn.005ba110
cmp dword [0x0065c110], 0
jle 0x5eb0cd
lea rdi, [0x0065f898]
xor ebx, ebx
xor esi, esi
lea rbp, [0x004050b0]
jmp 0x5ead56
mov rdx, rbp
mov rcx, r14
call fcn.00403810
test eax, eax
jne 0x5eb194
add ebx, 1
add rsi, 0x50
cmp dword [0x0065c110], ebx
jle 0x5eb0cd
mov r14, qword [rdi]
add r14, rsi
mov dword [r14], ebx
call fcn.00410da0
mov qword [r14 + 0x20], rax
test rax, rax
jne 0x5ead30
mov r13d, 1
mov eax, r13d
add rsp, 0xb0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp qword [0x0065c0f0], 0
jne 0x5ea994
mov rbx, qword [rsi]
mov ecx, 2
call qword [fcn.005ea490]
lea rdx, str._s:_no_URL_supplied_n
mov rcx, rax
mov r8, rbx
call fcn.005af030
mov ecx, 1
call fcn.00409350
cmp byte [0x0065c12f], 0
je 0x5eaea1
mov dword [0x0065c6e4], 0x1e
jmp 0x5ea956
mov r8, qword [0x0065f300]
mov ecx, 1
lea rdx, str.Invalid_coinbase_address:__s
call fcn.0040acc0
xor ecx, ecx
call sub.msvcrt.dll_exit
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
add eax, dword [0x0065c6ec]
mov ecx, dword [0x0065c128]
mov dword [0x0065c6e8], eax
jmp 0x5ea964
lea rdx, [0x005edef8]
mov ecx, 1
mov r13d, 1
call fcn.0040acc0
jmp 0x5ead73
mov rcx, qword [0x0065c100]
mov r8d, 6
mov rbx, qword [sym.imp.msvcrt.dll__strnicmp]
lea rdx, str.https:
call rbx
test eax, eax
je 0x5eaa19
mov rcx, qword [0x0065c100]
mov r8d, 0xe
lea rdx, str.stratumssl:__
call rbx
test eax, eax
je 0x5eaa19
mov rcx, qword [0x0065c100]
mov r8d, 0xf
lea rdx, str.stratumtcps:__
call rbx
mov ecx, 2
test eax, eax
jne 0x5eaa1e
jmp 0x5eaa19
cmp byte [0x0065c130], 0
je 0x5eaee8
mov dword [0x0065c6e4], 0x3c
jmp 0x5ea956
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
test rax, rax
je 0x5eb1b3
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
jmp 0x5eaa4b
lea rdx, [0x005eebc0]
mov r13d, dword [rdx + rax*4]
jmp 0x5eaa67
mov dword [0x0065c6e4], 5
jmp 0x5ea956
lea rdx, str.Affinity:_more_threads___d__than_active_CPUs___d_
mov ecx, 2
call fcn.0040acc0
jmp 0x5eab2c
mov eax, dword [0x005ec05c]
lea r8, [rsp + 0x70]
mov r9d, 0x40
mov rcx, qword [0x005ec060]
cmp eax, 0x40
cmovle r9d, eax
xor edx, edx
test eax, eax
jle 0x5eb28e
nop word cs:[rax + rax]
mov rax, rcx
and eax, 1
cmp rax, 1
sbb eax, eax
shr rcx, 1
and eax, 0xd
add eax, 0x21
mov byte [r8 + rdx], al
add rdx, 1
cmp r9d, edx
jg 0x5eaf40
test r9d, r9d
mov eax, 1
cmovle r9d, eax
movsxd rdx, r9d
mov ecx, 0x40
add rdx, r8
sub ecx, r9d
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
lea rdx, str.CPU_affinity___s_
mov ecx, 4
call fcn.0040acc0
jmp 0x5eab39
cmp byte [0x0065c135], 0
jne 0x5eb204
mov eax, dword [0x0065c110]
mov byte [0x0065f7cc], 0
add eax, 2
movsxd r14, eax
mov dword [0x005ec04c], eax
imul r14, r14, 0x50
add r14, qword [0x0065f898]
mov dword [r14], eax
call fcn.00410da0
mov qword [r14 + 0x20], rax
test rax, rax
je 0x5ead6d
lea rdx, [0x00406a30]
mov rcx, r14
call fcn.00403810
test eax, eax
jne 0x5eb25c
cmp byte [0x0065c12f], 0
je 0x5eac9a
mov rcx, qword [0x0065c100]
call sub.msvcrt.dll__strdup
mov rdx, rax
movsxd rax, dword [0x005ec04c]
imul rax, rax, 0x50
add rax, qword [0x0065f898]
mov rcx, qword [rax + 0x20]
call fcn.00410ef0
jmp 0x5eac9a
lea rdx, str.benchmark
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
sete al
movzx eax, al
jmp 0x5eabfa
mov rbp, qword [0x0065f8b0]
or r8, 0xffffffffffffffff
xor eax, eax
mov rcx, r8
mov r12, qword [0x0065f318]
mov rdi, rbp
repne scasb al, byte [rdi]
mov rdi, r12
mov rdx, rcx
mov rcx, r8
repne scasb al, byte [rdi]
not rdx
mov rax, rcx
not rax
lea rcx, [rdx + rax]
call sub.msvcrt.dll_malloc
mov rcx, rax
mov qword [0x0065c0f8], rax
test rax, rax
je 0x5ead6d
lea rdx, str._s:_s
mov r9, r12
mov r8, rbp
call sub.msvcrt.dll_sprintf
jmp 0x5ea9a2
lea rdx, str.work_thread_create_failed
mov ecx, 1
mov r13d, 1
call fcn.0040acc0
jmp 0x5ead73
lea rcx, [0x0065c160]
mov r8d, 0x2c0
xor edx, edx
call sub.msvcrt.dll_memset
lea rcx, [0x0065c138]
xor edx, edx
call fcn.005e4b80
mov rax, qword [0x0065c138]
mov rcx, r12
mov qword [0x0065c610], rax
mov qword [0x0065c618], rax
mov qword [0x0065c6d8], rax
mov qword [0x0065c6d0], rax
mov qword [0x0065c0a0], rax
call fcn.005bb040
mov edx, dword [0x0065c128]
lea rax, [0x005f1740]
mov ecx, 4
mov r9d, dword [0x005ec05c]
mov r8d, dword [0x0065c110]
mov rax, qword [rax + rdx*8]
lea rdx, str._d_of__d_miner_threads_started_using__s_algorithm
mov qword [rsp + 0x20], rax
call fcn.0040acc0
movsxd rax, dword [0x0065f320]
lea rcx, [rsp + 0x30]
xor edx, edx
imul rax, rax, 0x50
add rax, qword [0x0065f898]
movdqu xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0x30], xmm0
call fcn.005c2a30
lea rdx, str.workio_thread_dead__exiting.
mov ecx, 2
call fcn.0040acc0
jmp 0x5ead73
mov r8d, ebx
mov ecx, 1
mov r13d, 1
lea rdx, str.Miner_thread__d_create_failed
call fcn.0040acc0
jmp 0x5ead73
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 0x5eaa4b
lea rdx, str.Creating_API_thread
mov ecx, 4
call fcn.0040acc0
jmp 0x5eacb0
lea rdx, str.Long_poll_thread_create_failed
mov ecx, 1
mov r13d, 1
call fcn.0040acc0
jmp 0x5ead73
lea rdx, str.Creating_stratum_thread
mov ecx, 4
call fcn.0040acc0
jmp 0x5eafa6
mov r9d, dword [0x0065c04c]
lea rdx, str.API_listening_to__s:_d
mov ecx, 4
mov r8, qword [0x0065c050]
call fcn.0040acc0
jmp 0x5ead06
lea rdx, str.Creating_long_poll_thread
mov ecx, 4
call fcn.0040acc0
jmp 0x5eac44
xor r9d, r9d
jmp 0x5eab1c
lea rdx, str.Stratum_thread_create_failed
mov ecx, 1
mov r13d, 1
call fcn.0040acc0
jmp 0x5ead73
lea rdx, str.API_thread_create_failed
mov ecx, 1
call fcn.0040acc0
jmp 0x5ead6d
xor r9d, r9d
jmp 0x5eaf6e
mov ecx, 1
call sub.msvcrt.dll_exit
lea rdx, str.CPU_Affinity_disabled__memory_allocation_failed
mov ecx, 1
call fcn.0040acc0
mov qword [0x005ec060], 0
jmp 0x5eab39
mov rbx, qword [rsi]
mov ecx, 2
call qword [fcn.005ea490]
lea rdx, str._s:_No_algo_parameter_specified_n
mov rcx, rax
mov r8, rbx
call fcn.005af030
mov ecx, 1
call fcn.00409350
mov rdi, qword [rsi + rax*8]
mov ecx, 2
mov rbx, qword [rsi]
call qword [fcn.005ea490]
lea rdx, str._s:_unsupported_non_option_argument_____s_n
mov rcx, rax
mov r9, rdi
mov r8, rbx
call fcn.005af030
mov ecx, 1
call fcn.00409350
nop
nop
nop
nop
mov ecx, 1
mov r8d, 1
jmp 0x595748