Function at 0x1400760f0
Capabilities:
Create thread
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 - 0x1ca0]
mov eax, 0x1da0
call fcn.140141880
sub rsp, rax
mov rax, qword [0x1401d4770]
xor rax, rsp
mov qword [rbp + 0x1c90], rax
mov rbx, rdx
mov rdi, rcx
mov dword [rsp + 0x30], 0
mov eax, dword [rcx + 0x10]
nop
test eax, eax
jne 0x140077351
lea r15, [rcx + 0x78]
mov qword [rsp + 0x78], r15
mov rcx, r15
call sub.KERNEL32.dll_AcquireSRWLockExclusive
nop
lea r13, [rdi + 0x18]
mov rcx, r13
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov eax, 1
lock xadd dword [rdi + 0x1a4], eax
mov edx, dword [rdi + 0x1a0]
add rdx, 0xb
shl rdx, 5
add rdx, rdi
mov rax, qword [rbx]
cmp qword [rdx], rax
jne 0x1400761b7
mov rax, qword [rbx + 8]
cmp qword [rdx + 8], rax
jne 0x1400761b7
mov rax, qword [rbx + 0x10]
cmp qword [rdx + 0x10], rax
jne 0x1400761b7
mov rax, qword [rbx + 0x18]
cmp qword [rdx + 0x18], rax
jne 0x1400761b7
mov rcx, r13
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x140077349
mov qword [rsp + 0x60], rdi
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x48]
call fcn.1400798e0
nop
mov eax, dword [rdi + 0x10]
nop
test eax, eax
je 0x1400761e7
mov rcx, qword [rsp + 0x48]
add rcx, 0x18
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
jmp 0x140077349
xor dword [rdi + 0x1a0], 1
mov eax, dword [rdi + 0x1a0]
add rax, 0xb
shl rax, 5
movups xmm0, xmmword [rbx]
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + rdi + 0x10], xmm1
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x1400763fb
xor edx, edx
lea rcx, [rbp + 0x7f0]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x7f0]
lea r8d, [rcx + 7]
mov edx, dword [rbp + 0x800]
cmp r8d, edx
jle 0x14007624f
mov eax, dword [rbp + 0x804]
add eax, 7
mov dword [rbp + 0x804], eax
jmp 0x14007628b
mov rdx, rcx
add rdx, qword [rbp + 0x7f8]
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 ecx, r8d
mov dword [rbp + 0x7f0], ecx
mov eax, dword [rbp + 0x804]
mov edx, dword [rbp + 0x800]
lea r8d, [rcx + 0xf]
cmp r8d, edx
jle 0x14007629f
add eax, 0xf
mov dword [rbp + 0x804], eax
jmp 0x1400762e8
movsxd rdx, ecx
add rdx, qword [rbp + 0x7f8]
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 ecx, r8d
mov dword [rbp + 0x7f0], ecx
mov eax, dword [rbp + 0x804]
mov edx, dword [rbp + 0x800]
lea r8d, [rcx + 4]
cmp r8d, edx
jle 0x1400762fc
add eax, 4
mov dword [rbp + 0x804], eax
jmp 0x140076324
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0x7f8]
mov dword [rdx + rax], ecx
mov ecx, r8d
mov dword [rbp + 0x7f0], ecx
mov eax, dword [rbp + 0x804]
mov edx, dword [rbp + 0x800]
lea r8d, [rcx + 9]
cmp r8d, edx
jle 0x140076338
add eax, 9
mov dword [rbp + 0x804], eax
jmp 0x14007636d
movsxd rdx, ecx
add rdx, qword [rbp + 0x7f8]
movsd xmm0, qword [str.new_seed]
movsd qword [rdx], xmm0
movzx eax, byte [0x1401af288]
mov byte [rdx + 8], al
mov ecx, r8d
mov dword [rbp + 0x7f0], ecx
mov eax, dword [rbp + 0x804]
mov edx, dword [rbp + 0x800]
lea r8d, [rcx + 7]
cmp r8d, edx
jle 0x140076381
add eax, 7
mov dword [rbp + 0x804], eax
jmp 0x1400763af
movsxd rdx, ecx
add rdx, qword [rbp + 0x7f8]
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 + 0x7f0], r8d
lea rdx, [rbp + 0x7f0]
mov rcx, rbx
call fcn.1400099e0
movsxd rdx, dword [rbp + 0x7f0]
lea ebx, [rdx + 4]
cmp ebx, dword [rbp + 0x800]
jle 0x1400763d9
add dword [rbp + 0x804], 4
jmp 0x1400763ef
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0x7f8]
mov dword [rdx + rax], ecx
mov dword [rbp + 0x7f0], ebx
lea rcx, [rbp + 0x7f0]
call fcn.140026c70
mov ecx, dword [rdi + 0x1a0]
lea rdx, [rcx + 0xb]
shl rdx, 5
add rdx, rdi
mov r8d, 0x20
mov rcx, qword [rdi + rcx*8 + 0x68]
call fcn.1400c004c
mov eax, dword [rdi + 0x1a0]
lea rcx, [rax + rax*2]
shl rcx, 4
lea rsi, [rdi + 0xd0]
add rsi, rcx
mov qword [rsp + 0x38], rsi
mov rcx, rsi
call sub.KERNEL32.dll_EnterCriticalSection
nop
mov edx, dword [rdi + 0x1a0]
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, qword [rdi + rax*8 + 0xf8]
test rcx, rcx
je 0x1400764ce
mov rax, qword [rcx]
mov rdx, qword [rdi + rdx*8 + 0x68]
mov rax, qword [rax + 0x28]
call qword [case.0x1400aefbc.0]
nop
mov rcx, rsi
call sub.KERNEL32.dll_LeaveCriticalSection
nop
mov rcx, qword [rsp + 0x48]
add rcx, 0x18
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x1400768fb
xor edx, edx
lea rcx, [rbp + 0xc10]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0xc10]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0xc20]
cmp ebx, edx
jle 0x14007675a
mov eax, dword [rbp + 0xc24]
add eax, 7
mov dword [rbp + 0xc24], eax
jmp 0x140076795
call fcn.1400bfe10
mov r14d, eax
mov edx, dword [rdi + 0x1a0]
mov ecx, eax
or ecx, 1
xor r8d, r8d
mov rdx, qword [rdi + rdx*8 + 0x68]
call fcn.1400c02a0
mov ecx, dword [rdi + 0x1a0]
lea rdx, [rcx + rcx*2]
add rdx, rdx
mov qword [rdi + rdx*8 + 0xf8], rax
mov ecx, dword [rdi + 0x1a0]
lea rax, [rcx + rcx*2]
add rax, rax
cmp qword [rdi + rax*8 + 0xf8], 0
jne 0x14007646f
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x1400766db
mov edx, 1
lea rcx, [rbp + 0x1030]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x1030]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0x1040]
cmp ebx, edx
jle 0x140076563
mov eax, dword [rbp + 0x1044]
add eax, 7
mov dword [rbp + 0x1044], eax
jmp 0x14007659e
mov rdx, rcx
add rdx, qword [rbp + 0x1038]
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 ecx, ebx
mov dword [rbp + 0x1030], ebx
mov eax, dword [rbp + 0x1044]
mov edx, dword [rbp + 0x1040]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x1400765b0
add eax, 0xf
mov dword [rbp + 0x1044], eax
jmp 0x1400765f8
movsxd rdx, ecx
add rdx, qword [rbp + 0x1038]
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 ecx, ebx
mov dword [rbp + 0x1030], ebx
mov eax, dword [rbp + 0x1044]
mov edx, dword [rbp + 0x1040]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x14007660a
add eax, 7
mov dword [rbp + 0x1044], eax
jmp 0x140076645
movsxd rdx, ecx
add rdx, qword [rbp + 0x1038]
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 ecx, ebx
mov dword [rbp + 0x1030], ebx
mov eax, dword [rbp + 0x1044]
mov edx, dword [rbp + 0x1040]
lea ebx, [rcx + 0x34]
cmp ebx, edx
jle 0x140076657
add eax, 0x34
mov dword [rbp + 0x1044], eax
jmp 0x14007669e
movsxd rdx, ecx
add rdx, qword [rbp + 0x1038]
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 ecx, ebx
mov dword [rbp + 0x1030], ebx
mov eax, dword [rbp + 0x1044]
mov edx, dword [rbp + 0x1040]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x1400766b0
add eax, 4
mov dword [rbp + 0x1044], eax
jmp 0x1400766c9
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0x1038]
mov dword [rdx + rax], ecx
mov dword [rbp + 0x1030], ebx
lea rcx, [rbp + 0x1030]
call fcn.140026c70
mov ecx, dword [rdi + 0x1a0]
mov edx, ecx
xor r8d, r8d
mov rdx, qword [rdi + rdx*8 + 0x68]
mov ecx, r14d
call fcn.1400c02a0
mov ecx, dword [rdi + 0x1a0]
lea rdx, [rcx + rcx*2]
add rdx, rdx
mov qword [rdi + rdx*8 + 0xf8], rax
mov eax, dword [rdi + 0x1a0]
lea rcx, [rax + rax*2]
add rcx, rcx
cmp qword [rdi + rcx*8 + 0xf8], 0
jne 0x14007646f
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x1400774b6
mov edx, 2
lea rcx, [rbp - 0x50]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp - 0x50]
lea ebx, [rcx + 7]
mov edx, dword [rbp - 0x40]
cmp ebx, edx
jle 0x140077387
mov eax, dword [rbp - 0x3c]
add eax, 7
mov dword [rbp - 0x3c], eax
jmp 0x1400773b6
mov rdx, rcx
add rdx, qword [rbp + 0xc18]
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 ecx, ebx
mov dword [rbp + 0xc10], ebx
mov eax, dword [rbp + 0xc24]
mov edx, dword [rbp + 0xc20]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x1400767a7
add eax, 0xf
mov dword [rbp + 0xc24], eax
jmp 0x1400767ef
movsxd rdx, ecx
add rdx, qword [rbp + 0xc18]
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 ecx, ebx
mov dword [rbp + 0xc10], ebx
mov eax, dword [rbp + 0xc24]
mov edx, dword [rbp + 0xc20]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140076801
add eax, 4
mov dword [rbp + 0xc24], eax
jmp 0x140076828
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0xc18]
mov dword [rdx + rax], ecx
mov ecx, ebx
mov dword [rbp + 0xc10], ebx
mov eax, dword [rbp + 0xc24]
mov edx, dword [rbp + 0xc20]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x14007683a
add eax, 7
mov dword [rbp + 0xc24], eax
jmp 0x140076875
movsxd rdx, ecx
add rdx, qword [rbp + 0xc18]
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 ecx, ebx
mov dword [rbp + 0xc10], ebx
mov eax, dword [rbp + 0xc24]
mov edx, dword [rbp + 0xc20]
lea ebx, [rcx + 0xd]
cmp ebx, edx
jle 0x140076887
add eax, 0xd
mov dword [rbp + 0xc24], eax
jmp 0x1400768c4
movsxd rdx, ecx
add rdx, qword [rbp + 0xc18]
movsd xmm0, qword [str.cache_updated]
movsd qword [rdx], xmm0
mov eax, dword [0x1401af300]
mov dword [rdx + 8], eax
movzx eax, byte [0x1401af304]
mov byte [rdx + 0xc], al
mov ecx, ebx
mov dword [rbp + 0xc10], ebx
mov eax, dword [rbp + 0xc24]
mov edx, dword [rbp + 0xc20]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x1400768d6
add eax, 4
mov dword [rbp + 0xc24], eax
jmp 0x1400768ef
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0xc18]
mov dword [rdx + rax], ecx
mov dword [rbp + 0xc10], ebx
lea rcx, [rbp + 0xc10]
call fcn.140026c70
cmp qword [rdi + 0xc8], 0
je 0x140077349
call fcn.140141e30
mov esi, eax
cmp eax, 1
jbe 0x140076917
shr esi, 1
mov ecx, dword [rdi + 0x1a8]
nop
test ecx, ecx
jne 0x140076932
call sub.KERNEL32.dll_SwitchToThread
mov eax, dword [rdi + 0x1a8]
nop
test eax, eax
je 0x140076922
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140076b65
xor edx, edx
lea rcx, [rbp + 0x3d0]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x3d0]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0x3e0]
cmp ebx, edx
jle 0x140076973
mov eax, dword [rbp + 0x3e4]
add eax, 7
mov dword [rbp + 0x3e4], eax
jmp 0x1400769ae
mov rdx, rcx
add rdx, qword [rbp + 0x3d8]
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 ecx, ebx
mov dword [rbp + 0x3d0], ebx
mov eax, dword [rbp + 0x3e4]
mov edx, dword [rbp + 0x3e0]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x1400769c0
add eax, 0xf
mov dword [rbp + 0x3e4], eax
jmp 0x140076a08
movsxd rdx, ecx
add rdx, qword [rbp + 0x3d8]
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 ecx, ebx
mov dword [rbp + 0x3d0], ebx
mov eax, dword [rbp + 0x3e4]
mov edx, dword [rbp + 0x3e0]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140076a1a
add eax, 4
mov dword [rbp + 0x3e4], eax
jmp 0x140076a41
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0x3d8]
mov dword [rdx + rax], ecx
mov ecx, ebx
mov dword [rbp + 0x3d0], ebx
mov eax, dword [rbp + 0x3e4]
mov edx, dword [rbp + 0x3e0]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x140076a53
add eax, 7
mov dword [rbp + 0x3e4], eax
jmp 0x140076a8e
movsxd rdx, ecx
add rdx, qword [rbp + 0x3d8]
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 ecx, ebx
mov dword [rbp + 0x3d0], ebx
mov eax, dword [rbp + 0x3e4]
mov edx, dword [rbp + 0x3e0]
lea ebx, [rcx + 8]
cmp ebx, edx
jle 0x140076aa0
add eax, 8
mov dword [rbp + 0x3e4], eax
jmp 0x140076abb
movsxd rdx, ecx
mov rcx, qword [rbp + 0x3d8]
mov rax, qword [str.running]
mov qword [rdx + rcx], rax
mov dword [rbp + 0x3d0], ebx
mov edx, esi
lea rcx, [rbp + 0x3d0]
call fcn.1400093a0
movsxd rcx, dword [rbp + 0x3d0]
lea ebx, [rcx + 0x1a]
mov edx, dword [rbp + 0x3e0]
cmp ebx, edx
jle 0x140076aee
mov eax, dword [rbp + 0x3e4]
add eax, 0x1a
mov dword [rbp + 0x3e4], eax
jmp 0x140076b2e
mov rdx, rcx
add rdx, qword [rbp + 0x3d8]
movups xmm0, xmmword [str._threads_to_update_dataset]
movups xmmword [rdx], xmm0
movsd xmm1, qword [0x1401af328]
movsd qword [rdx + 0x10], xmm1
movzx eax, word [0x1401af330]
mov word [rdx + 0x18], ax
mov ecx, ebx
mov dword [rbp + 0x3d0], ebx
mov eax, dword [rbp + 0x3e4]
mov edx, dword [rbp + 0x3e0]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140076b40
add eax, 4
mov dword [rbp + 0x3e4], eax
jmp 0x140076b59
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0x3d8]
mov dword [rdx + rax], ecx
mov dword [rbp + 0x3d0], ebx
lea rcx, [rbp + 0x3d0]
call fcn.140026c70
mov qword [rbp - 0x80], r13
mov rcx, r13
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
cmp esi, 1
jbe 0x140076e33
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], rax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov qword [rbp - 0x60], rax
mov edx, esi
mov rax, qword [rbp - 0x60]
sub rax, qword [rbp - 0x70]
sar rax, 4
cmp rdx, rax
jbe 0x140076bb0
lea rcx, [rbp - 0x70]
call fcn.14002a7a0
mov qword [rsp + 0x50], rdi
xor r14d, r14d
xor r15d, r15d
mov rbx, qword [rbp - 0x68]
mov r12d, dword [rsp + 0x30]
nop dword [rax]
nop dword [rax + rax]
xor edx, edx
mov eax, r14d
div esi
mov ecx, eax
lea eax, [r14 + 0x207ffff]
xor edx, edx
div esi
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], eax
cmp rbx, qword [rbp - 0x60]
je 0x140076c7c
mov qword [rbp - 0x58], 0
mov ecx, reloc.WS2_32.dll_recv
call fcn.140140c80
mov r9, rax
movups xmm0, xmmword [rsp + 0x50]
movups xmmword [rax], xmm0
mov qword [rsp + 0x68], rax
xor ecx, ecx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rax
or r12d, 2
mov dword [rsp + 0x30], r12d
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x58], rax
and r12d, 0xfffffffd
mov dword [rsp + 0x30], r12d
lea rax, [rbx + 8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea r8, [0x140079b50]
xor edx, edx
call fcn.140151410
mov qword [rbx], rax
test rax, rax
je 0x1400774c9
mov qword [rbp - 0x58], 0
mov rbx, qword [rbp - 0x68]
add rbx, 0x10
mov qword [rbp - 0x68], rbx
jmp 0x140076c91
lea r8, [rsp + 0x50]
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.1400799d0
mov rbx, qword [rbp - 0x68]
inc r15d
add r14d, 0x207ffff
cmp r15d, esi
jb 0x140076bd0
mov rsi, qword [rbp - 0x70]
cmp rsi, rbx
je 0x140076cc1
nop dword [rax]
mov rcx, rsi
call fcn.140029a80
add rsi, 0x10
cmp rsi, rbx
jne 0x140076cb0
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140076d2e
mov rax, rcx
mov rdx, qword [rbp - 0x68]
cmp rcx, rdx
je 0x140076ce9
cmp dword [rax + 8], 0
jne 0x140077381
add rax, 0x10
cmp rax, rdx
jne 0x140076cd6
mov rdx, qword [rbp - 0x60]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140076d19
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400774c3
call fcn.140140cc0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 0
lea r15, [rdi + 0x78]
lea r14, [rdi + 0x130]
mov qword [rbp - 0x78], r14
mov rcx, r14
call sub.KERNEL32.dll_EnterCriticalSection
nop
cmp qword [rdi + 0x158], 0
jne 0x1400771a9
xor r9b, r9b
xor r10b, r10b
xor r8b, r8b
xor eax, eax
xor ecx, ecx
cpuid
mov r11d, eax
cmp eax, 1
jl 0x140076d8a
mov eax, 1
xor ecx, ecx
cpuid
mov r9d, ecx
mov r10d, ecx
shr r10d, 9
and r10b, 1
shr r9d, 0x19
and r9b, 1
cmp r11d, 7
jl 0x140076da4
mov eax, 7
xor ecx, ecx
cpuid
mov r8d, ebx
shr r8d, 5
and r8b, 1
movzx eax, r9b
lea ecx, [rax*2 + 8]
mov esi, ecx
call fcn.1400c499c
test rax, rax
je 0x140076dc3
test r8b, r8b
je 0x140076dc3
or esi, 0x40
test r10b, r10b
je 0x140076dcb
or esi, 0x20
or esi, 4
mov ecx, esi
or ecx, 1
mov r8, qword [rdi + 0xc8]
xor edx, edx
call fcn.1400c02a0
mov qword [rdi + 0x158], rax
test rax, rax
jne 0x1400771a9
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140076fde
lea edx, [rax + 1]
lea rcx, [rbp + 0x1450]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x1450]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0x1460]
cmp ebx, edx
jle 0x140076e5c
mov eax, dword [rbp + 0x1464]
add eax, 7
mov dword [rbp + 0x1464], eax
jmp 0x140076e97
mov eax, dword [rdi + 0x1a0]
mov rax, qword [rdi + rax*8 + 0x68]
mov rdx, qword [rdi + 0xc8]
mov r9d, 0x207ffff
xor r8d, r8d
mov rdx, qword [rdx]
mov rcx, rax
call qword [rax + 0x20]
jmp 0x140076d32
mov rdx, rcx
add rdx, qword [rbp + 0x1458]
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 ecx, ebx
mov dword [rbp + 0x1450], ebx
mov eax, dword [rbp + 0x1464]
mov edx, dword [rbp + 0x1460]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x140076ea9
add eax, 0xf
mov dword [rbp + 0x1464], eax
jmp 0x140076ef1
movsxd rdx, ecx
add rdx, qword [rbp + 0x1458]
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 ecx, ebx
mov dword [rbp + 0x1450], ebx
mov eax, dword [rbp + 0x1464]
mov edx, dword [rbp + 0x1460]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x140076f03
add eax, 7
mov dword [rbp + 0x1464], eax
jmp 0x140076f3e
movsxd rdx, ecx
add rdx, qword [rbp + 0x1458]
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 ecx, ebx
mov dword [rbp + 0x1450], ebx
mov eax, dword [rbp + 0x1464]
mov edx, dword [rbp + 0x1460]
lea ebx, [rcx + 0x2e]
cmp ebx, edx
jle 0x140076f50
add eax, 0x2e
mov dword [rbp + 0x1464], eax
jmp 0x140076fa4
movsxd rdx, ecx
add rdx, qword [rbp + 0x1458]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_VM_using_large_pages]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [0x1401af348]
movups xmmword [rdx + 0x10], xmm1
movsd xmm0, qword [0x1401af358]
movsd qword [rdx + 0x20], xmm0
mov eax, dword [0x1401af360]
mov dword [rdx + 0x28], eax
movzx eax, word [0x1401af364]
mov word [rdx + 0x2c], ax
mov ecx, ebx
mov dword [rbp + 0x1450], ebx
mov eax, dword [rbp + 0x1464]
mov edx, dword [rbp + 0x1460]
lea r8d, [rcx + 4]
cmp r8d, edx
jle 0x140076fb8
add eax, 4
mov dword [rbp + 0x1464], eax
jmp 0x140076fd2
movsxd rbx, ecx
mov edx, dword [str.e_0m]
mov rax, qword [rbp + 0x1458]
mov dword [rbx + rax], edx
mov dword [rbp + 0x1450], r8d
lea rcx, [rbp + 0x1450]
call fcn.140026c70
mov r8, qword [rdi + 0xc8]
xor edx, edx
mov ecx, esi
call fcn.1400c02a0
mov qword [rdi + 0x158], rax
test rax, rax
jne 0x1400771a9
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140077337
lea edx, [rax + 2]
lea rcx, [rbp + 0x1870]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp + 0x1870]
lea ebx, [rcx + 7]
mov edx, dword [rbp + 0x1880]
cmp ebx, edx
jle 0x140077040
mov eax, dword [rbp + 0x1884]
add eax, 7
mov dword [rbp + 0x1884], eax
jmp 0x14007707b
mov rdx, rcx
add rdx, qword [rbp + 0x1878]
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 ecx, ebx
mov dword [rbp + 0x1870], ebx
mov eax, dword [rbp + 0x1884]
mov edx, dword [rbp + 0x1880]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x14007708d
add eax, 0xf
mov dword [rbp + 0x1884], eax
jmp 0x1400770d5
movsxd rdx, ecx
add rdx, qword [rbp + 0x1878]
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 ecx, ebx
mov dword [rbp + 0x1870], ebx
mov eax, dword [rbp + 0x1884]
mov edx, dword [rbp + 0x1880]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x1400770e7
add eax, 7
mov dword [rbp + 0x1884], eax
jmp 0x140077122
movsxd rdx, ecx
add rdx, qword [rbp + 0x1878]
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 ecx, ebx
mov dword [rbp + 0x1870], ebx
mov eax, dword [rbp + 0x1884]
mov edx, dword [rbp + 0x1880]
lea ebx, [rcx + 0x1c]
cmp ebx, edx
jle 0x140077134
add eax, 0x1c
mov dword [rbp + 0x1884], eax
jmp 0x140077172
movsxd rdx, ecx
add rdx, qword [rbp + 0x1878]
movups xmm0, xmmword [str.couldnt_allocate_RandomX_VM]
movups xmmword [rdx], xmm0
movsd xmm1, qword [0x1401af378]
movsd qword [rdx + 0x10], xmm1
mov eax, dword [0x1401af380]
mov dword [rdx + 0x18], eax
mov ecx, ebx
mov dword [rbp + 0x1870], ebx
mov eax, dword [rbp + 0x1884]
mov edx, dword [rbp + 0x1880]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140077184
add eax, 4
mov dword [rbp + 0x1884], eax
jmp 0x14007719d
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp + 0x1878]
mov dword [rdx + rax], ecx
mov dword [rbp + 0x1870], ebx
lea rcx, [rbp + 0x1870]
call fcn.140026c70
cmp dword [reloc.WS2_32.dll_closesocket], 1
jl 0x140077337
xor edx, edx
lea rcx, [rbp - 0x50]
call fcn.1400269f0
nop
movsxd rcx, dword [rbp - 0x50]
lea ebx, [rcx + 7]
mov edx, dword [rbp - 0x40]
cmp ebx, edx
jle 0x1400771db
mov eax, dword [rbp - 0x3c]
add eax, 7
mov dword [rbp - 0x3c], eax
jmp 0x14007720a
mov rdx, rcx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x140077219
add eax, 0xf
mov dword [rbp - 0x3c], eax
jmp 0x140077255
movsxd rdx, ecx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x140077264
add eax, 4
mov dword [rbp - 0x3c], eax
jmp 0x14007727f
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp - 0x48]
mov dword [rdx + rax], ecx
mov ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x14007728e
add eax, 7
mov dword [rbp - 0x3c], eax
jmp 0x1400772bd
movsxd rdx, ecx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x1400772cc
add eax, 0xf
mov dword [rbp - 0x3c], eax
jmp 0x140077308
movsxd rdx, ecx
add rdx, qword [rbp - 0x48]
movsd xmm0, qword [str.dataset_updated]
movsd qword [rdx], xmm0
mov eax, dword [0x1401af390]
mov dword [rdx + 8], eax
movzx eax, word [0x1401af394]
mov word [rdx + 0xc], ax
movzx eax, byte [0x1401af396]
mov byte [rdx + 0xe], al
mov ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea r8d, [rcx + 4]
cmp r8d, edx
jle 0x140077319
add eax, 4
mov dword [rbp - 0x3c], eax
jmp 0x14007732d
movsxd rbx, ecx
mov edx, dword [str.e_0m]
mov rax, qword [rbp - 0x48]
mov dword [rbx + rax], edx
mov dword [rbp - 0x50], r8d
lea rcx, [rbp - 0x50]
call fcn.140026c70
nop
mov rcx, r14
call sub.KERNEL32.dll_LeaveCriticalSection
nop
mov rcx, r13
call sub.KERNEL32.dll_ReleaseSRWLockShared
nop
mov rcx, r15
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
mov rcx, qword [rbp + 0x1c90]
xor rcx, rsp
call fcn.140140c60
lea r11, [rsp + 0x1da0]
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
call fcn.1401514f0
nop
mov rdx, rcx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 0xf]
cmp ebx, edx
jle 0x1400773c5
add eax, 0xf
mov dword [rbp - 0x3c], eax
jmp 0x140077401
movsxd rdx, ecx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 7]
cmp ebx, edx
jle 0x140077410
add eax, 7
mov dword [rbp - 0x3c], eax
jmp 0x14007743f
movsxd rdx, ecx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 0x2c]
cmp ebx, edx
jle 0x14007744e
add eax, 0x2c
mov dword [rbp - 0x3c], eax
jmp 0x14007748b
movsxd rdx, ecx
add rdx, qword [rbp - 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 ecx, ebx
mov dword [rbp - 0x50], ebx
mov eax, dword [rbp - 0x3c]
mov edx, dword [rbp - 0x40]
lea ebx, [rcx + 4]
cmp ebx, edx
jle 0x14007749a
add eax, 4
mov dword [rbp - 0x3c], eax
jmp 0x1400774ad
movsxd rdx, ecx
mov ecx, dword [str.e_0m]
mov rax, qword [rbp - 0x48]
mov dword [rdx + rax], ecx
mov dword [rbp - 0x50], ebx
lea rcx, [rbp - 0x50]
call fcn.140026c70
lea rcx, str.D:_ap2poolp2pool_srcpow_hash.cpp:209
call fcn.1400b18e0
nop
call fcn.140149dd0
nop
mov dword [rbx + 8], 0
mov ecx, 6
call fcn.140142f7c
int3