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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xbb0]
sub rsp, 0xcb0
mov rax, qword [0x1401d4770]
xor rax, rsp
mov qword [rbp + 0xba0], rax
mov rsi, rdx
mov rdi, rcx
mov eax, dword [rcx + 0x1a4]
nop
test eax, eax
jne 0x140077533
call sub.KERNEL32.dll_SwitchToThread
mov eax, dword [rdi + 0x1a4]
nop
test eax, eax
je 0x140077523
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x14007770f
xor edx, edx
lea rcx, [rbp + 0x360]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x360]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0x370]
cmp ebx, edx
jle 0x140077574
mov eax, dword [rbp + 0x374]
add eax, 7
mov dword [rbp + 0x374], eax
jmp 0x1400775af
mov rdx, rcx
add rdx, qword [rbp + 0x368]
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 [rbp + 0x360], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x374]
mov edx, dword [rbp + 0x370]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x1400775c1
add eax, 0xf
mov dword [rbp + 0x374], eax
jmp 0x140077609
movsxd rdx, ecx
add rdx, qword [rbp + 0x368]
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 [rbp + 0x360], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x374]
mov edx, dword [rbp + 0x370]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x14007761b
add eax, 4
mov dword [rbp + 0x374], eax
jmp 0x140077640
movsxd rcx, ecx
mov rax, qword [rbp + 0x368]
mov dword [rcx + rax], 0x6d305b1b
mov dword [rbp + 0x360], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x374]
mov edx, dword [rbp + 0x370]
lea ebx, [rcx + 9]
cmp ebx, edx
jle 0x140077652
add eax, 9
mov dword [rbp + 0x374], eax
jmp 0x140077686
movsxd rdx, ecx
add rdx, qword [rbp + 0x368]
movsd xmm0, qword [str.old_seed]
movsd qword [rdx], xmm0
movzx eax, byte [0x1401af3c8]
mov byte [rdx + 8], al
mov dword [rbp + 0x360], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x374]
mov edx, dword [rbp + 0x370]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x140077698
add eax, 7
mov dword [rbp + 0x374], eax
jmp 0x1400776c5
movsxd rdx, ecx
add rdx, qword [rbp + 0x368]
mov eax, dword [str.e_0_94m]
mov dword [rdx], eax
movzx eax, word [0x1401ad074]
mov word [rdx + 4], ax
movzx eax, byte [0x1401ad076]
mov byte [rdx + 6], al
mov dword [rbp + 0x360], ebx
lea rdx, [rbp + 0x360]
mov rcx, rsi
call fcn.1400099e0
movsxd rdx, dword [rbp + 0x360]
lea ebx, [rdx + 4]
cmp ebx, dword [rbp + 0x370]
jle 0x1400776ef
add dword [rbp + 0x374], 4
jmp 0x140077703
mov rax, qword [rbp + 0x368]
mov dword [rdx + rax], 0x6d305b1b
mov dword [rbp + 0x360], ebx
lea rcx, [rbp + 0x360]
call fcn.140026c70
lea r15, [rdi + 0x18]
mov qword [rsp + 0x30], r15
mov rcx, r15
call sub.KERNEL32.dll_AcquireSRWLockExclusive
nop
mov eax, 1
lock xadd dword [rdi + 0x1a8], eax
mov ecx, dword [rdi + 0x1a0]
xor ecx, 1
mov ebx, ecx
lea rdx, [rcx + 0xb]
shl rdx, 5
add rdx, rdi
movups xmm0, xmmword [rsi]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rdx + 0x10], xmm1
lea rsi, [rdi + rcx*8]
mov r8d, 0x20
mov rcx, qword [rsi + 0x68]
call fcn.1400c004c
lea r14, [rbx + rbx*2]
shl r14, 4
add r14, rdi
lea r12, [r14 + 0xd0]
mov qword [rsp + 0x38], r12
mov rcx, r12
call sub.KERNEL32.dll_EnterCriticalSection
nop
mov rcx, qword [r14 + 0xf8]
test rcx, rcx
je 0x1400777f2
mov rax, qword [rcx]
mov rdx, qword [rsi + 0x68]
mov rax, qword [rax + 0x28]
call qword [case.0x1400aefbc.0]
nop
mov rcx, r12
call sub.KERNEL32.dll_LeaveCriticalSection
nop
mov rcx, r15
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140077bf5
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 0x140077a9b
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140077ace
xor r10b, r10b
xor r8b, r8b
xor eax, eax
xor ecx, ecx
cpuid
mov r11d, eax
xor r9d, r9d
cmp eax, 1
jl 0x140077828
mov eax, 1
xor ecx, ecx
cpuid
mov r9d, ecx
mov r10d, ecx
shr r10d, 9
and r10b, 1
shr r9d, 0x19
and r9d, 1
cmp r11d, 7
jl 0x140077842
mov eax, 7
xor ecx, ecx
cpuid
mov r8d, ebx
shr r8d, 5
and r8b, 1
lea edx, [r9*2 + 8]
mov ecx, edx
call fcn.1400c499c
test rax, rax
je 0x14007785e
test r8b, r8b
je 0x14007785e
or ecx, 0x40
mov edi, ecx
or edi, 0x20
test r10b, r10b
cmove edi, ecx
mov ecx, edi
or ecx, 1
xor r8d, r8d
mov rdx, qword [rsi + 0x68]
call fcn.1400c02a0
mov qword [r14 + 0xf8], rax
test rax, rax
jne 0x1400777a3
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140077a3c
lea edx, [rax + 1]
lea rcx, [rbp + 0x780]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x780]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0x790]
cmp ebx, edx
jle 0x1400778cc
mov eax, dword [rbp + 0x794]
add eax, 7
mov dword [rbp + 0x794], eax
jmp 0x140077907
mov rdx, rcx
add rdx, qword [rbp + 0x788]
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 [rbp + 0x780], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x794]
mov edx, dword [rbp + 0x790]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x140077919
add eax, 0xf
mov dword [rbp + 0x794], eax
jmp 0x140077961
movsxd rdx, ecx
add rdx, qword [rbp + 0x788]
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 [rbp + 0x780], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x794]
mov edx, dword [rbp + 0x790]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x140077973
add eax, 7
mov dword [rbp + 0x794], eax
jmp 0x1400779ae
movsxd rdx, ecx
add rdx, qword [rbp + 0x788]
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 [rbp + 0x780], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x794]
mov edx, dword [rbp + 0x790]
lea ebx, [rcx + 0x34]
cmp ebx, edx
jle 0x1400779c0
add eax, 0x34
mov dword [rbp + 0x794], eax
jmp 0x140077a07
movsxd rdx, ecx
add rdx, qword [rbp + 0x788]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_light_VM_using_large_pages]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af2a0]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [0x1401af2b0]
movups xmmword [rdx + 0x20], xmm0
mov eax, dword [0x1401af2c0]
mov dword [rdx + 0x30], eax
mov dword [rbp + 0x780], ebx
mov ecx, ebx
mov eax, dword [rbp + 0x794]
mov edx, dword [rbp + 0x790]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140077a19
add eax, 4
mov dword [rbp + 0x794], eax
jmp 0x140077a30
movsxd rdx, ecx
mov rax, qword [rbp + 0x788]
mov dword [rdx + rax], 0x6d305b1b
mov dword [rbp + 0x780], ebx
lea rcx, [rbp + 0x780]
call fcn.140026c70
xor r8d, r8d
mov rdx, qword [rsi + 0x68]
mov ecx, edi
call fcn.1400c02a0
mov qword [r14 + 0xf8], rax
test rax, rax
jne 0x1400777a3
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140077d64
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 0x140077c20
mov eax, dword [rsp + 0x54]
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140077c53
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 0x140077ade
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x140077b1e
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 0x140077b2e
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140077b4b
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 + 7]
cmp ebx, edx
jle 0x140077b5b
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140077b8e
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
mov eax, dword [str.e_0_96m]
mov dword [rdx], eax
movzx eax, word [0x1401a9304]
mov word [rdx + 4], ax
movzx eax, byte [0x1401a9306]
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 + 0x11]
cmp ebx, edx
jle 0x140077b9e
add eax, 0x11
mov dword [rsp + 0x54], eax
jmp 0x140077bc8
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movups xmm0, xmmword [str.old_cache_updated]
movups xmmword [rdx], xmm0
movzx eax, byte [0x1401af3e0]
mov byte [rdx + 0x10], 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 0x140077bd8
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140077beb
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 rcx, qword [rbp + 0xba0]
xor rcx, rsp
call fcn.140140c60
lea r11, [rsp + 0xcb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
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 0x140077c63
add eax, 0xf
mov dword [rsp + 0x54], eax
jmp 0x140077ca3
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 0x140077cb3
add eax, 7
mov dword [rsp + 0x54], eax
jmp 0x140077ce6
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 + 0x2c]
cmp ebx, edx
jle 0x140077cf6
add eax, 0x2c
mov dword [rsp + 0x54], eax
jmp 0x140077d37
movsxd rdx, ecx
add rdx, qword [rsp + 0x48]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_light_VM__aborting]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af2d8]
movups xmmword [rdx + 0x10], xmm1
movsd xmm0, qword [0x1401af2e8]
movsd qword [rdx + 0x20], xmm0
mov eax, dword [0x1401af2f0]
mov dword [rdx + 0x28], eax
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 0x140077d47
add eax, 4
mov dword [rsp + 0x54], eax
jmp 0x140077d5a
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:311
call fcn.1400b18e0
int3