Function at 0x140074fe0
Capabilities:
Reference absolute stream path on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x1401d4770]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov r15, rcx
mov qword [rsp + 0x30], rcx
lea rax, vtable.p2pool::RandomX_Hasher_Base.0
mov qword [rcx], rax
lea rax, vtable.p2pool::RandomX_Hasher.0
mov qword [rcx], rax
mov qword [rcx + 8], rdx
xor esi, esi
mov dword [rcx + 0x10], esi
lea rdi, [rcx + 0x68]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rcx + 0xc8], rsi
movups xmmword [rcx + 0xf0], xmm0
movups xmmword [rcx + 0x120], xmm0
movups xmmword [rcx + 0x150], xmm0
xor eax, eax
movups xmmword [rcx + 0xd0], xmm0
movups xmmword [rcx + 0xe0], xmm0
mov qword [rcx + 0xf0], rax
mov qword [rcx + 0xf8], rsi
movups xmmword [rcx + 0x100], xmm0
movups xmmword [rcx + 0x110], xmm0
mov qword [rcx + 0x120], rax
mov qword [rcx + 0x128], rsi
movups xmmword [rcx + 0x130], xmm0
movups xmmword [rcx + 0x140], xmm0
mov qword [rcx + 0x150], rax
mov qword [rcx + 0x158], rsi
movups xmmword [rcx + 0x160], xmm0
movups xmmword [rcx + 0x170], xmm0
movups xmmword [rcx + 0x180], xmm0
movups xmmword [rcx + 0x190], xmm0
mov qword [rcx + 0x1a0], rsi
mov dword [rcx + 0x1a8], esi
mov r14d, esi
mov rax, qword [rcx + 8]
test rax, rax
je 0x140075438
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x18], sil
jne 0x140075438
lea ecx, [rsi + 1]
call fcn.1400c01f8
mov qword [r15 + 0xc8], rax
test rax, rax
jne 0x14007542c
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x14007529e
lea edx, [rsi + 1]
lea rcx, [rsp + 0x40]
call fcn.1400269f0
nop
movsxd rcx, dword [rsp + 0x40]
lea ebx, [rcx + 7]
mov edx, dword [rsp + 0x50]
cmp ebx, edx
jle 0x140075150
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140075183
mov rdx, rcx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_90m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b6c]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b6e]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x140075193
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x1400751d3
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movsd xmm0, qword [str.RandomX_Hasher]
movsd qword [rdx], xmm0
mov eax, dword [0x1401a4370]
mov dword [rdx + 8], eax
movzx eax, word [0x1401a4374]
mov word [rdx + 0xc], ax
movzx eax, byte [0x1401a4376]
mov byte [rdx + 0xe], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x1400751e3
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140075216
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_33m]
mov dword [rdx], eax
movzx eax, word [0x1401a8cdc]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8cde]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0x33]
cmp ebx, edx
jle 0x140075226
add eax, 0x33
mov dword [rsp + 0x54], eax
jmp 0x140075271
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_dataset_using_large_pages]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af150]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [0x1401af160]
movups xmmword [rdx + 0x20], xmm0
movzx eax, word [0x1401af170]
mov word [rdx + 0x30], ax
movzx eax, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rdx + 0x32], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140075281
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140075294
movsxd rcx, ecx
mov rax, qword [rsp + 0x48]
mov dword [rcx + rax], 0x6d305b1b
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x40]
call fcn.140026c70
xor ecx, ecx
call fcn.1400c01f8
mov qword [r15 + 0xc8], rax
test rax, rax
jne 0x14007542c
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x14007542c
lea edx, [rax + 2]
lea rcx, [rsp + 0x40]
call fcn.1400269f0
nop
movsxd rcx, dword [rsp + 0x40]
lea ebx, [rcx + 7]
mov edx, dword [rsp + 0x50]
cmp ebx, edx
jle 0x1400752ed
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140075320
mov rdx, rcx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_90m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b6c]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b6e]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x140075330
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x140075370
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movsd xmm0, qword [str.RandomX_Hasher]
movsd qword [rdx], xmm0
mov eax, dword [0x1401a4370]
mov dword [rdx + 8], eax
movzx eax, word [0x1401a4374]
mov word [rdx + 0xc], ax
movzx eax, byte [0x1401a4376]
mov byte [rdx + 0xe], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x140075380
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x1400753b3
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_31m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b64]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b66]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0x21]
cmp ebx, edx
jle 0x1400753c3
add eax, 0x21
mov dword [rsp + 0x54], eax
jmp 0x1400753f8
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_dataset]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af188]
movups xmmword [rdx + 0x10], xmm1
movzx eax, byte [reloc.WS2_32.dll_WSACleanup]
mov byte [rdx + 0x20], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140075408
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x14007541b
movsxd rcx, ecx
mov rax, qword [rsp + 0x48]
mov dword [rcx + rax], 0x6d305b1b
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x40]
call fcn.140026c70
mov rax, qword [r15 + 0xc8]
mov ecx, 0x81ffffc0
test rax, rax
cmovne r14, rcx
xor r10b, r10b
xor r9b, r9b
xor eax, eax
xor ecx, ecx
cpuid
mov r11d, eax
mov r8d, esi
cmp eax, 1
jl 0x14007546e
mov eax, 1
xor ecx, ecx
cpuid
mov r8d, ecx
mov r10d, ecx
shr r10d, 9
and r10b, 1
shr r8d, 0x19
and r8d, 1
cmp r11d, 7
jl 0x140075488
mov eax, 7
xor ecx, ecx
cpuid
mov r9d, ebx
shr r9d, 5
and r9b, 1
lea r8d, [r8*2 + 8]
mov ecx, r8d
call fcn.1400c499c
test rax, rax
je 0x1400754a5
test r9b, r9b
je 0x1400754a5
or ecx, 0x40
mov r12d, ecx
or r12d, 0x20
test r10b, r10b
cmove r12d, ecx
mov r13d, r12d
or r13d, 1
nop word [rax + rax]
mov ecx, r13d
call fcn.1400bfe58
mov qword [rdi], rax
test rax, rax
jne 0x140075663
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x14007564f
lea edx, [rax + 1]
lea rcx, [rsp + 0x40]
call fcn.1400269f0
nop
movsxd rcx, dword [rsp + 0x40]
lea ebx, [rcx + 7]
mov edx, dword [rsp + 0x50]
cmp ebx, edx
jle 0x14007550c
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x14007553f
mov rdx, rcx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_90m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b6c]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b6e]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x14007554f
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x14007558f
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movsd xmm0, qword [str.RandomX_Hasher]
movsd qword [rdx], xmm0
mov eax, dword [0x1401a4370]
mov dword [rdx + 8], eax
movzx eax, word [0x1401a4374]
mov word [rdx + 0xc], ax
movzx eax, byte [0x1401a4376]
mov byte [rdx + 0xe], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x14007559f
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x1400755d2
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_33m]
mov dword [rdx], eax
movzx eax, word [0x1401a8cdc]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8cde]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0x31]
cmp ebx, edx
jle 0x1400755e2
add eax, 0x31
mov dword [rsp + 0x54], eax
jmp 0x140075622
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_cache_using_large_pages]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af1b0]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [0x1401af1c0]
movups xmmword [rdx + 0x20], xmm0
movzx eax, byte [reloc.WS2_32.dll_WSAStartup]
mov byte [rdx + 0x30], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140075632
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140075645
movsxd rcx, ecx
mov rax, qword [rsp + 0x48]
mov dword [rcx + rax], 0x6d305b1b
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x40]
call fcn.140026c70
mov ecx, r12d
call fcn.1400bfe58
mov qword [rdi], rax
test rax, rax
je 0x140075890
add r14, 0x10000000
inc rsi
add rdi, 8
cmp rsi, 2
jb 0x1400754c0
lea rcx, [r15 + 0x78]
call fcn.1400b2190
lea rcx, [r15 + 0x18]
call fcn.1400b2190
lea rbx, [r15 + 0xf8]
mov edi, 3
xor esi, esi
nop dword [rax + rax]
lea rcx, [rbx - 0x28]
call fcn.1400b1f60
mov qword [rbx], rsi
lea rbx, [rbx + 0x30]
sub rdi, 1
jne 0x1400756a0
add r14, 0xfffff
shr r14, 0x14
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x14007585d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.1400269f0
nop
movsxd rcx, dword [rsp + 0x40]
lea ebx, [rcx + 7]
mov edx, dword [rsp + 0x50]
cmp ebx, edx
jle 0x1400756f8
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x14007572b
mov rdx, rcx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_90m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b6c]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b6e]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x14007573b
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x14007577b
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movsd xmm0, qword [str.RandomX_Hasher]
movsd qword [rdx], xmm0
mov eax, dword [0x1401a4370]
mov dword [rdx + 8], eax
movzx eax, word [0x1401a4374]
mov word [rdx + 0xc], ax
movzx eax, byte [0x1401a4376]
mov byte [rdx + 0xe], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x14007578b
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x1400757a8
movsxd rcx, ecx
mov rax, qword [rsp + 0x48]
mov dword [rcx + rax], 0x6d305b1b
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0xa]
cmp ebx, edx
jle 0x1400757b8
add eax, 0xa
mov dword [rsp + 0x54], eax
jmp 0x1400757db
movsxd rcx, ecx
add rcx, qword [rsp + 0x48]
movsd xmm0, qword [str.allocated]
movsd qword [rcx], xmm0
movzx eax, word [0x1401af210]
mov word [rcx + 8], ax
mov dword [rsp + 0x40], ebx
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.140014420
movsxd rcx, dword [rsp + 0x40]
lea ebx, [rcx + 3]
mov edx, dword [rsp + 0x50]
cmp ebx, edx
jle 0x140075805
mov eax, dword [rsp + 0x54]
add eax, 3
mov dword [rsp + 0x54], eax
jmp 0x14007582f
mov rdx, rcx
add rdx, qword [rsp + 0x48]
movzx eax, word [0x1401af214]
mov word [rdx], ax
movzx eax, byte [0x1401af216]
mov byte [rdx + 2], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x14007583f
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140075852
movsxd rdx, ecx
mov rcx, qword [rsp + 0x48]
mov dword [rdx + rcx], 0x6d305b1b
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x40]
call fcn.140026c70
nop
mov rax, r15
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.140140c60
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140075a0f
mov edx, 2
lea rcx, [rsp + 0x40]
call fcn.1400269f0
nop
movsxd rcx, dword [rsp + 0x40]
lea ebx, [rcx + 7]
mov edx, dword [rsp + 0x50]
cmp ebx, edx
jle 0x1400758ca
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x1400758fd
mov rdx, rcx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_90m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b6c]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b6e]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x14007590d
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x14007594d
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movsd xmm0, qword [str.RandomX_Hasher]
movsd qword [rdx], xmm0
mov eax, dword [0x1401a4370]
mov dword [rdx + 8], eax
movzx eax, word [0x1401a4374]
mov word [rdx + 0xc], ax
movzx eax, byte [0x1401a4376]
mov byte [rdx + 0xe], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x14007595d
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140075990
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_31m]
mov dword [rdx], eax
movzx eax, word [0x1401a8b64]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a8b66]
mov byte [rdx + 6], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 0x29]
cmp ebx, edx
jle 0x1400759a0
add eax, 0x29
mov dword [rsp + 0x54], eax
jmp 0x1400759e2
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_cache__aborting]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af1e8]
movups xmmword [rdx + 0x10], xmm1
movsd xmm0, qword [0x1401af1f8]
movsd qword [rdx + 0x20], xmm0
movzx eax, byte [0x1401af200]
mov byte [rdx + 0x28], al
mov dword [rsp + 0x40], ebx
mov ecx, ebx
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x50]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x1400759f2
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140075a05
movsxd rcx, ecx
mov rax, qword [rsp + 0x48]
mov dword [rcx + rax], 0x6d305b1b
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x40]
call fcn.140026c70
lea rcx, str.D:_ap2poolp2pool_srcpow_hash.cpp:71
call fcn.1400b18e0
int3