Function at 0x180005590
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x260]
sub rsp, 0x360
mov r15, rcx
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rcx, str.kernel32.dll
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor edi, edi
mov esi, 1
mov r13, rax
mov ebx, edi
xor eax, eax
lock cmpxchg dword [0x180596020], esi
je 0x180005611
nop dword [rax]
cmp rbx, 0x20
jae 0x1800055fa
xor ecx, ecx
jmp 0x1800055fc
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x180596020], esi
jne 0x1800055f0
cmp qword [0x180596028], rdi
jne 0x180005c67
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
test rax, rax
mov qword [0x180596028], rax
mov ecx, 9
cmovne ecx, edi
xchg dword [0x180596020], edi
je 0x180005c6f
lea rcx, str.ntdll.dll
mov qword [rsp + 0x398], r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r14d, 0xb
lea rsi, vtable.std::_Func_impl_no_alloc_class__private:_bool___cdecl_DllManager::MhCall_int____ptr64::_5::_lambda_1___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____.0
test rax, rax
jne 0x180005675
mov eax, r14d
jmp 0x1800056ab
lea rdx, str.NtOpenFile
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180005691
mov eax, 0xc
jmp 0x1800056ab
lea r8, [0x180596000]
mov rcx, rax
lea rdx, [0x1800048a0]
call fcn.18000d430
test eax, eax
je 0x1800056eb
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0x20]
lea rax, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
mov rdx, r15
mov qword [rsp + 0x58], rax
call fcn.18000bcc0
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1800056e6
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
jmp 0x1800056ee
mov dil, 1
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x180005705
mov eax, r14d
jmp 0x18000573b
lea rdx, str.NtClose
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180005721
mov eax, 0xc
jmp 0x18000573b
lea r8, [0x180596010]
mov rcx, rax
lea rdx, [0x180004ea0]
call fcn.18000d430
test eax, eax
je 0x180005778
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0x60]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x60], rsi
mov rdx, r15
mov qword [rbp - 0x68], rax
call fcn.18000bcc0
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x180005774
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
jmp 0x18000577a
mov bl, 1
lea rcx, str.ntdll.dll
and bl, dil
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x180005794
mov eax, r14d
jmp 0x1800057ca
lea rdx, str.NtCreateSection
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1800057b0
mov eax, 0xc
jmp 0x1800057ca
lea r8, [0x180596018]
mov rcx, rax
lea rdx, [0x180004d60]
call fcn.18000d430
test eax, eax
je 0x180005800
mov dword [rbp - 0x58], eax
lea rcx, [rbp - 0x60]
lea rax, [rbp - 0x60]
mov qword [rbp - 0x60], rsi
mov rdx, r15
mov qword [rbp - 0x28], rax
call fcn.18000bcc0
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1800057fe
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x180005817
mov eax, r14d
jmp 0x18000584d
lea rdx, str.NtQueryAttributesFile
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180005833
mov eax, 0xc
jmp 0x18000584d
lea r8, [0x180595ff8]
mov rcx, rax
lea rdx, [0x180004e10]
call fcn.18000d430
test eax, eax
je 0x180005886
mov dword [rbp - 0x18], eax
lea rcx, [rbp - 0x20]
lea rax, [rbp - 0x20]
mov qword [rbp - 0x20], rsi
mov rdx, r15
mov qword [rbp + 0x18], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x180005881
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
jmp 0x180005889
mov dil, 1
lea rcx, str.kernel32.dll
and dil, bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x1800058a3
mov eax, r14d
jmp 0x1800058d9
lea rdx, [0x1800458b8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1800058bf
mov eax, 0xc
jmp 0x1800058d9
lea r8, [0x180596008]
mov rcx, rax
lea rdx, [0x180004910]
call fcn.18000d430
test eax, eax
je 0x180005910
mov dword [rbp + 0x28], eax
lea rcx, [rbp + 0x20]
lea rax, [rbp + 0x20]
mov qword [rbp + 0x20], rsi
mov rdx, r15
mov qword [rbp + 0x58], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x18000590d
mov rax, qword [rcx]
lea rdx, [rbp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x18000595c
lea rdx, [0x1800458c8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x18000593f
mov r14d, 0xc
jmp 0x18000595c
lea r8, [0x180595ff0]
mov rcx, rax
lea rdx, [0x180004b40]
call fcn.18000d430
mov r14d, eax
test eax, eax
je 0x18000599b
lea rax, [rbp + 0x60]
mov qword [rbp + 0x60], rsi
mov rdx, r15
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x60]
mov dword [rbp + 0x68], r14d
call fcn.18000bcc0
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x180005997
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
jmp 0x18000599d
mov bl, 1
and bl, dil
je 0x180005c5a
lea rdx, str.NtOpenFile
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d710
test eax, eax
je 0x180005a12
mov dword [rbp + 0xa8], eax
lea rcx, [rbp + 0xa0]
lea rax, [rbp + 0xa0]
mov qword [rbp + 0xa0], rsi
mov rdx, r15
mov qword [rbp + 0xd8], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x180005a10
mov rax, qword [rcx]
lea rdx, [rbp + 0xa0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
lea rdx, str.NtClose
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d710
test eax, eax
je 0x180005a81
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xe0]
lea rax, [rbp + 0xe0]
mov qword [rbp + 0xe0], rsi
mov rdx, r15
mov qword [rbp + 0x118], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x118]
test rcx, rcx
je 0x180005a7c
mov rax, qword [rcx]
lea rdx, [rbp + 0xe0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor r14b, r14b
jmp 0x180005a84
mov r14b, 1
lea rdx, str.NtCreateSection
mov rcx, r12
and r14b, bl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d710
test eax, eax
je 0x180005af4
mov dword [rbp + 0x128], eax
lea rcx, [rbp + 0x120]
lea rax, [rbp + 0x120]
mov qword [rbp + 0x120], rsi
mov rdx, r15
mov qword [rbp + 0x158], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x158]
test rcx, rcx
je 0x180005af1
mov rax, qword [rcx]
lea rdx, [rbp + 0x120]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor r14b, r14b
lea rdx, str.NtQueryAttributesFile
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d710
test eax, eax
je 0x180005b63
mov dword [rbp + 0x168], eax
lea rcx, [rbp + 0x160]
lea rax, [rbp + 0x160]
mov qword [rbp + 0x160], rsi
mov rdx, r15
mov qword [rbp + 0x198], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x198]
test rcx, rcx
je 0x180005b5e
mov rax, qword [rcx]
lea rdx, [rbp + 0x160]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
jmp 0x180005b66
mov dil, 1
lea rdx, [0x1800458b8]
mov rcx, r13
and dil, r14b
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d710
test eax, eax
je 0x180005bd6
mov dword [rbp + 0x1a8], eax
lea rcx, [rbp + 0x1a0]
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x1a0], rsi
mov rdx, r15
mov qword [rbp + 0x1d8], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x180005bd3
mov rax, qword [rcx]
lea rdx, [rbp + 0x1a0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
lea rdx, [0x1800458c8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d710
test eax, eax
je 0x180005c44
mov dword [rbp + 0x1e8], eax
lea rcx, [rbp + 0x1e0]
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x1e0], rsi
mov rdx, r15
mov qword [rbp + 0x218], rax
call fcn.18000bcc0
mov rcx, qword [rbp + 0x218]
test rcx, rcx
je 0x180005c40
mov rax, qword [rcx]
lea rdx, [rbp + 0x1e0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
jmp 0x180005c46
mov bl, 1
and bl, dil
mov byte [r15 + 0x80], bl
jne 0x180005c5a
mov rcx, r15
call sym.minerWrapper.dll_public:_void___cdecl_DllManager::DisableDllRedirection_void____ptr64
mov r14, qword [rsp + 0x398]
movzx eax, bl
jmp 0x180005cc1
xchg dword [0x180596020], edi
mov ecx, esi
mov dword [rbp + 0x228], ecx
lea rax, [rbp + 0x220]
lea rsi, vtable.std::_Func_impl_no_alloc_class__private:_bool___cdecl_DllManager::MhCall_int____ptr64::_5::_lambda_1___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____.0
mov qword [rbp + 0x258], rax
lea rcx, [rbp + 0x220]
mov qword [rbp + 0x220], rsi
mov rdx, r15
call fcn.18000bcc0
mov rcx, qword [rbp + 0x258]
test rcx, rcx
je 0x180005cbf
mov rax, qword [rcx]
lea rdx, [rbp + 0x220]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor al, al
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r13
pop r12
pop rdi
pop rbp
ret