Function at 0x1800053f0
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 r14
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov r14, 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 [0x180593d38], esi
je 0x180005471
nop dword [rax]
cmp rbx, 0x20
jae 0x18000545a
xor ecx, ecx
jmp 0x18000545c
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x180593d38], esi
jne 0x180005450
cmp qword [0x180593d40], rdi
jne 0x180005abd
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_HeapCreate]
mov ecx, edi
mov edx, 9
test rax, rax
mov qword [0x180593d40], rax
xchg dword [0x180593d38], edi
cmove ecx, edx
test ecx, ecx
jne 0x180005ac5
lea rcx, str.ntdll.dll
mov qword [rsp + 0x358], r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov ebx, 0xb
lea rsi, vtable.std::_Func_impl_no_alloc_class__lambda_39579b0c2f84bf803a00dfc934b123d2___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____.0
test rax, rax
jne 0x1800054d7
mov eax, ebx
jmp 0x18000550d
lea rdx, str.NtOpenFile
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1800054f3
mov eax, 0xc
jmp 0x18000550d
lea r8, [0x180593d18]
mov rcx, rax
lea rdx, [0x1800047e0]
call fcn.18000ce00
test eax, eax
je 0x18000554b
mov dword [rsp + 0x68], eax
lea rcx, [rsp + 0x60]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x60], rsi
mov rdx, r14
mov qword [rbp - 0x68], rax
call fcn.18000b640
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x180005546
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor r15b, r15b
jmp 0x18000554e
mov r15b, 1
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x180005564
mov eax, ebx
jmp 0x18000559a
lea rdx, str.NtClose
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180005580
mov eax, 0xc
jmp 0x18000559a
lea r8, [0x180593d28]
mov rcx, rax
lea rdx, [0x180004d00]
call fcn.18000ce00
test eax, eax
je 0x1800055d3
mov dword [rbp - 0x58], eax
lea rcx, [rbp - 0x60]
lea rax, [rbp - 0x60]
mov qword [rbp - 0x60], rsi
mov rdx, r14
mov qword [rbp - 0x28], rax
call fcn.18000b640
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1800055ce
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
jmp 0x1800055d6
mov dil, 1
lea rcx, str.ntdll.dll
and dil, r15b
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov r15, qword [rsp + 0x358]
test rax, rax
jne 0x1800055f7
mov eax, ebx
jmp 0x18000562d
lea rdx, str.NtCreateSection
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180005613
mov eax, 0xc
jmp 0x18000562d
lea r8, [0x180593d30]
mov rcx, rax
lea rdx, [0x180004be0]
call fcn.18000ce00
test eax, eax
je 0x180005664
mov dword [rbp - 0x18], eax
lea rcx, [rbp - 0x20]
lea rax, [rbp - 0x20]
mov qword [rbp - 0x20], rsi
mov rdx, r14
mov qword [rbp + 0x18], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x180005661
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x18000567a
mov eax, ebx
jmp 0x1800056b0
lea rdx, str.NtQueryAttributesFile
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x180005696
mov eax, 0xc
jmp 0x1800056b0
lea r8, [0x180593d10]
mov rcx, rax
lea rdx, [0x180004c90]
call fcn.18000ce00
test eax, eax
je 0x1800056e8
mov dword [rbp + 0x28], eax
lea rcx, [rbp + 0x20]
lea rax, [rbp + 0x20]
mov qword [rbp + 0x20], rsi
mov rdx, r14
mov qword [rbp + 0x58], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1800056e4
mov rax, qword [rcx]
lea rdx, [rbp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor al, al
jmp 0x1800056ea
mov al, 1
lea rcx, str.kernel32.dll
and dil, al
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
jne 0x180005703
mov eax, ebx
jmp 0x180005739
lea rdx, [0x180048810]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x18000571f
mov eax, 0xc
jmp 0x180005739
lea r8, [0x180593d20]
mov rcx, rax
lea rdx, [0x180004850]
call fcn.18000ce00
test eax, eax
je 0x180005776
mov dword [rbp + 0x68], eax
lea rcx, [rbp + 0x60]
lea rax, [rbp + 0x60]
mov qword [rbp + 0x60], rsi
mov rdx, r14
mov qword [rbp + 0x98], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x180005773
mov rax, qword [rcx]
lea rdx, [rbp + 0x60]
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 0x1800057be
lea rdx, [0x180048820]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x1800057a2
lea ebx, [rax + 0xc]
jmp 0x1800057be
lea r8, [0x180593d08]
mov rcx, rax
lea rdx, [0x180004a20]
call fcn.18000ce00
mov ebx, eax
test eax, eax
je 0x18000580b
lea rax, [rbp + 0xa0]
mov qword [rbp + 0xa0], rsi
mov rdx, r14
mov qword [rbp + 0xd8], rax
lea rcx, [rbp + 0xa0]
mov dword [rbp + 0xa8], ebx
call fcn.18000b640
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x180005807
mov rax, qword [rcx]
lea rdx, [rbp + 0xa0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
jmp 0x18000580d
mov bl, 1
and bl, dil
je 0x180005ab8
lea rdx, str.NtOpenFile
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d0c0
test eax, eax
je 0x180005882
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0xe0]
lea rax, [rbp + 0xe0]
mov qword [rbp + 0xe0], rsi
mov rdx, r14
mov qword [rbp + 0x118], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x118]
test rcx, rcx
je 0x180005880
mov rax, qword [rcx]
lea rdx, [rbp + 0xe0]
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.18000d0c0
test eax, eax
je 0x1800058f1
mov dword [rbp + 0x128], eax
lea rcx, [rbp + 0x120]
lea rax, [rbp + 0x120]
mov qword [rbp + 0x120], rsi
mov rdx, r14
mov qword [rbp + 0x158], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x158]
test rcx, rcx
je 0x1800058ec
mov rax, qword [rcx]
lea rdx, [rbp + 0x120]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
jmp 0x1800058f4
mov dil, 1
lea rdx, str.NtCreateSection
mov rcx, r12
and dil, bl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d0c0
test eax, eax
je 0x180005964
mov dword [rbp + 0x168], eax
lea rcx, [rbp + 0x160]
lea rax, [rbp + 0x160]
mov qword [rbp + 0x160], rsi
mov rdx, r14
mov qword [rbp + 0x198], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x198]
test rcx, rcx
je 0x180005961
mov rax, qword [rcx]
lea rdx, [rbp + 0x160]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor dil, dil
lea rdx, str.NtQueryAttributesFile
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d0c0
test eax, eax
je 0x1800059d2
mov dword [rbp + 0x1a8], eax
lea rcx, [rbp + 0x1a0]
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x1a0], rsi
mov rdx, r14
mov qword [rbp + 0x1d8], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x1d8]
test rcx, rcx
je 0x1800059ce
mov rax, qword [rcx]
lea rdx, [rbp + 0x1a0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
jmp 0x1800059d4
mov bl, 1
lea rdx, [0x180048810]
mov rcx, r13
and bl, dil
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d0c0
test eax, eax
je 0x180005a43
mov dword [rbp + 0x1e8], eax
lea rcx, [rbp + 0x1e0]
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x1e0], rsi
mov rdx, r14
mov qword [rbp + 0x218], rax
call fcn.18000b640
mov rcx, qword [rbp + 0x218]
test rcx, rcx
je 0x180005a41
mov rax, qword [rcx]
lea rdx, [rbp + 0x1e0]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor bl, bl
lea rdx, [0x180048820]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
mov edx, 1
call fcn.18000d0c0
test eax, eax
je 0x180005aa3
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0x20]
lea rax, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
mov rdx, r14
mov qword [rsp + 0x58], rax
call fcn.18000b640
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x180005a9f
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor al, al
jmp 0x180005aa5
mov al, 1
and bl, al
mov byte [r14 + 0x80], bl
jne 0x180005ab8
mov rcx, r14
call sym.minerWrapper.dll_public:_void___cdecl_DllManager::DisableDllRedirection_void____ptr64
movzx eax, bl
jmp 0x180005b09
xchg dword [0x180593d38], edi
mov ecx, esi
mov dword [rsp + 0x28], ecx
lea rax, [rsp + 0x20]
lea rsi, vtable.std::_Func_impl_no_alloc_class__lambda_39579b0c2f84bf803a00dfc934b123d2___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____.0
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
mov rdx, r14
call fcn.18000b640
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x180005b07
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor al, al
lea r11, [rsp + 0x320]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret