Function at 0x140040160
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x428]
sub rsp, 0x528
mov rax, qword [0x14017f8e0]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov esi, dword [rdx + 0x4c]
mov r14, r8
mov rax, qword [rbp + 0x490]
mov rbx, rdx
movsxd r13, ecx
lea rdx, str.scanhash_myriad
mov qword [rsp + 0x58], rax
lea rcx, [0x140000000]
mov qword [rsp + 0x40], r8
mov edi, r9d
mov r8d, 0x80000
mov dword [rsp + 0x4c], r9d
lea rax, [r13*4]
mov dword [rsp + 0x48], r13d
mov ecx, dword [rax + rcx + 0x1905d0]
mov r12, r13
mov dword [rsp + 0x38], esi
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x30], rax
call fcn.14009d710
mov r15d, edi
mov edx, eax
sub r15d, esi
cmp eax, r15d
cmovb r15d, eax
and r15d, 0xfffffc00
cmp byte [0x140190373], 0
je 0x140040217
mov dword [r14 + 0x1c], 0xff
mov rax, qword gs:[0x58]
mov edi, 0x308
mov rsi, qword [rax]
movzx eax, byte [rdi + rsi]
test al, al
jne 0x14004026b
mov ecx, r13d
call fcn.14009ed60
xor r8d, r8d
mov ecx, 0x300
add rcx, rsi
lea edx, [r8 + 0x10]
call qword [sym.imp.cudart64_80.dll_cudaHostAlloc]
cmp r13d, 0x10
jae 0x14004072c
lea rax, [0x140000000]
mov byte [r13 + rax + 0x18ffa8], 0
mov byte [rdi + rsi], 1
xor edi, edi
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x1400402e1
lea rax, [rbx + 0x7c]
lea rcx, [rbp + 0x280]
cmp rcx, rax
ja 0x140040292
lea rax, [rbp + 0x2fc]
cmp rax, rbx
jae 0x1400402e1
lea rdx, [rbp + 0x290]
mov rcx, rbx
sub rcx, rdx
lea rax, [rbp + 0x290]
mov edx, 4
lea edi, [rdx + 0x1c]
nop
movdqu xmm0, xmmword [rcx + rax]
movdqu xmm1, xmmword [rcx + rax + 0x10]
lea rax, [rax + 0x20]
pshufb xmm0, xmmword [0x140170170]
pshufb xmm1, xmmword [0x140170170]
movdqu xmmword [rax - 0x30], xmm0
movdqu xmmword [rax - 0x20], xmm1
sub rdx, 1
jne 0x1400402b0
movsxd rdx, edi
cmp rdx, 0x20
jge 0x14004031d
lea rax, [rbp + 0x280]
mov rdi, rbx
sub rdi, rax
nop word [rax + rax]
lea rax, [rdi + rdx*4]
mov ecx, dword [rbp + rax + 0x280]
bswap ecx
mov dword [rbp + rdx*4 + 0x280], ecx
inc rdx
cmp rdx, 0x20
jl 0x140040300
mov r8, r14
lea rdx, [rbp + 0x280]
mov ecx, r13d
call fcn.14009f060
mov eax, 0x300
mov r13d, 1
add rsi, rax
nop dword [rax]
mov r9, qword [rsi]
mov edx, r15d
mov r8d, dword [rbx + 0x4c]
mov ecx, dword [rsp + 0x48]
call fcn.14009f130
cmp byte [0x140190370], 0
je 0x140040372
lea rax, [0x140000000]
xor ecx, ecx
mov byte [r12 + rax + 0x18ffa8], r13b
call fcn.1400c5de0
mov rax, qword [rsi]
cmp dword [rax], 0xffffffff
je 0x1400404c4
mov r14d, dword [r14 + 0x1c]
xor edi, edi
xor edx, edx
mov qword [rbp + 0x264], rdi
cmp byte [reloc.WS2_32.dll_accept], dl
mov dword [rbp + 0x260], edx
mov qword [rbp + 0x26c], rdi
mov qword [rbp + 0x274], rdi
mov dword [rbp + 0x27c], edi
je 0x14004045e
mov ecx, dword [rax]
lea r8d, [rdx + 0x50]
bswap ecx
mov dword [rbp + 0x2cc], ecx
lea rdi, [rbp + 0xc0]
xor eax, eax
mov ecx, reloc.WS2_32.dll_recv
rep stosq qword [rdi], rax
movabs rax, 0x2000000000000
mov qword [rbp + 0x148], rdx
lea rdx, [rbp + 0x280]
mov qword [rbp + 0x140], rax
lea rcx, [rbp + 0x40]
call fcn.14005bb90
lea r9, [rbp + 0x390]
lea rcx, [rbp + 0x40]
call fcn.14005e4b0
lea rcx, [rsp + 0x60]
call fcn.14010c610
mov r8d, 0x40
lea rdx, [rbp + 0x390]
lea rcx, [rsp + 0x60]
call fcn.14010c680
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x310]
call fcn.14010c2f0
movaps xmm1, xmmword [rbp + 0x320]
movaps xmm0, xmmword [rbp + 0x310]
movups xmmword [rbp + 0x270], xmm1
mov edi, dword [rbp + 0x27c]
movups xmmword [rbp + 0x260], xmm0
mov r12, qword [rbp + 0x278]
mov rax, r12
shr rax, 0x20
cmp eax, r14d
ja 0x14004048a
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp + 0x260]
call fcn.1400342d0
test al, al
jne 0x14004053c
cmp edi, r14d
mov rdi, qword [rsp + 0x30]
je 0x1400404b8
mov rax, qword [rsi]
lea rdx, str.GPU__d:_result_for__08x_does_not_validate_on_CPU_
mov ecx, r13d
mov r9d, dword [rax]
lea rax, [0x140000000]
mov r8d, dword [rdi + rax + 0x1905d0]
call fcn.140033450
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
jmp 0x1400404cc
lea rdi, [r12*4]
add dword [rbx + 0x4c], r15d
call qword [sym.imp.cudart64_80.dll_cudaGetLastError]
test eax, eax
jne 0x1400406fa
mov rax, qword [0x140190658]
mov rcx, r12
shl rcx, 7
mov ecx, dword [rcx + rax]
test ecx, ecx
jne 0x140040509
mov eax, dword [rbx + 0x4c]
mov ecx, r15d
add rcx, rax
mov eax, dword [rsp + 0x4c]
cmp rax, rcx
ja 0x140040340
mov eax, dword [rbx + 0x4c]
sub eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], eax
xor eax, eax
mov rcx, qword [rbp + 0x410]
xor rcx, rsp
call fcn.140111120
add rsp, 0x528
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
sub r15d, dword [rsp + 0x38]
add r15d, dword [rbx + 0x4c]
mov rcx, qword [rsp + 0x58]
mov dword [rcx], r15d
mov rax, qword [rsi]
mov edx, dword [rax + 4]
cmp edx, 0xffffffff
je 0x1400406b6
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x140040622
xor eax, eax
lea rdi, [rbp + 0x1d0]
bswap edx
mov dword [rbp + 0x2cc], edx
mov ecx, reloc.WS2_32.dll_recv
rep stosq qword [rdi], rax
movabs rax, 0x2000000000000
mov qword [rbp + 0x258], 0
lea rcx, [rbp + 0x150]
mov qword [rbp + 0x250], rax
mov r8d, 0x50
lea rdx, [rbp + 0x280]
call fcn.14005bb90
lea r9, [rbp + 0x3d0]
lea rcx, [rbp + 0x150]
call fcn.14005e4b0
lea rcx, [rbp - 0x30]
call fcn.14010c610
mov r8d, 0x40
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp - 0x30]
call fcn.14010c680
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x350]
call fcn.14010c2f0
movaps xmm1, xmmword [rbp + 0x360]
movaps xmm0, xmmword [rbp + 0x350]
movups xmmword [rbp + 0x270], xmm1
mov edi, dword [rbp + 0x27c]
mov r12, qword [rbp + 0x278]
movups xmmword [rbp + 0x260], xmm0
shr r12, 0x20
cmp r12d, r14d
ja 0x140040685
mov rdx, qword [rsp + 0x40]
lea rcx, [rbp + 0x260]
call fcn.1400342d0
test al, al
je 0x140040685
mov rax, qword [rsi]
lea r14, [0x140000000]
mov rdi, qword [rsp + 0x30]
mov r13d, 2
mov ecx, dword [rax + 4]
mov dword [rbx + 0x54], ecx
cmp byte [0x140190373], 0
je 0x1400406c2
mov rax, qword [rsi]
lea rdx, str.GPU__d_Found_second_nounce__08x
mov r8d, dword [rdi + r14 + 0x1905d0]
lea ecx, [r13 + 1]
mov r9d, dword [rax + 4]
call fcn.140033450
jmp 0x1400406c2
cmp edi, r14d
mov rdi, qword [rsp + 0x30]
lea r14, [0x140000000]
je 0x1400406c2
mov rax, qword [rsi]
lea rdx, str.GPU__d:_result_for__08x_does_not_validate_on_CPU_
mov r8d, dword [rdi + r14 + 0x1905d0]
mov ecx, r13d
mov r9d, dword [rax + 4]
call fcn.140033450
jmp 0x1400406c2
mov rdi, qword [rsp + 0x30]
lea r14, [0x140000000]
mov rdx, qword [rsi]
mov edx, dword [rdx]
mov dword [rbx + 0x4c], edx
cmp byte [0x140190373], 0
je 0x1400406f2
mov rdx, qword [rsi]
mov ecx, 3
mov r8d, dword [rdi + r14 + 0x1905d0]
mov r9d, dword [rdx]
lea rdx, str.GPU__d_Found_nounce__08x
call fcn.140033450
mov eax, r13d
jmp 0x140040519
mov ecx, eax
call qword [sym.imp.cudart64_80.dll_cudaGetErrorString]
lea rdx, str.GPU__d:__s
xor ecx, ecx
mov r9, rax
lea rax, [0x140000000]
mov r8d, dword [rdi + rax + 0x1905d0]
call fcn.140033450
mov ecx, r13d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call fcn.140110efc
int3