Function at 0x180030500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rax, qword [rcx + 0x28]
mov r12d, r8d
mov rbp, qword [rcx + 8]
mov rdi, rdx
mov ecx, 0x18
mov qword [rsp + 0x28], rbp
mov esi, dword [rax]
mov dword [rsp + 0xc0], esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov qword [rsp + 0x30], rax
mov eax, 1
test r14, r14
jne 0x180030560
xor r13d, r13d
mov r14d, r13d
mov qword [rsp + 0x30], r13
jmp 0x18003059f
mov ecx, 0x40
mov dword [r14], eax
mov dword [r14 + 4], 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 8], rax
test rax, rax
jne 0x180030595
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r13d, r13d
mov r14d, r13d
mov qword [rsp + 0x30], r13
jmp 0x18003059f
xor r13d, r13d
mov dword [rax], r13d
mov dword [r14 + 0x10], r13d
or r15d, 0xffffffff
mov dword [rsp + 0x3c], r13d
mov ebx, r13d
test esi, esi
je 0x180031a19
cmp dword [rdi], 0
je 0x1800305c5
mov edx, ebx
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov r15d, ebx
inc ebx
add rdi, 0x88
cmp ebx, esi
jb 0x1800305b3
mov dword [rsp + 0xd8], r15d
cmp r15d, 0xffffffff
je 0x180031a19
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x20], rax
mov r14, rax
test rax, rax
jne 0x180030606
mov r14, r13
mov qword [rsp + 0x20], r13
jmp 0x180030642
mov eax, 1
mov dword [r14 + 4], 0x10
mov dword [r14], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 8], rax
test rax, rax
jne 0x18003063b
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, r13
mov qword [rsp + 0x20], r13
jmp 0x180030642
mov dword [rax], r13d
mov dword [r14 + 0x10], r13d
cmp dword [rbp + 0x70], 1
mov rsi, qword [rsp + 0x30]
je 0x1800308db
mov ebx, dword [rsi]
mov rcx, r14
mov edx, ebx
call fcn.18001aa40
test eax, eax
jne 0x18003067f
mov rcx, qword [r14 + 8]
mov dword [r14], ebx
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x10]
mov dword [r14 + 0x10], eax
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov edi, eax
cmp eax, 0xffffffff
je 0x1800308db
test r12d, r12d
je 0x18003079c
mov rbx, qword [rsp + 0xc8]
mov ecx, edi
imul r14, rcx, 0x88
mov ecx, 0x18
mov ebp, dword [r14 + rbx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x1800306c9
mov rsi, r13
jmp 0x1800306fe
mov eax, 1
mov dword [rsi + 4], 0x10
mov dword [rsi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsi + 8], rax
test rax, rax
jne 0x1800306f7
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, r13
jmp 0x1800306fe
mov dword [rax], r13d
mov dword [rsi + 0x10], r13d
mov eax, dword [rsp + 0xc0]
cmp edi, eax
jae 0x180030749
mov r12, qword [rsp + 0x20]
add rbx, 8
add rbx, r14
cmp dword [rbx], ebp
jne 0x180030734
mov edx, edi
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov edx, edi
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
mov eax, dword [rsp + 0xc0]
inc edi
add rbx, 0x88
cmp edi, eax
jb 0x180030715
mov r12d, dword [rsp + 0xd0]
mov r8d, ebp
mov edx, 1
mov rbp, qword [rsp + 0x28]
mov rcx, rbp
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
mov rdx, qword [rsp + 0xc8]
xor r8d, r8d
add rdx, r14
mov rcx, rax
mov rbx, rax
mov qword [rax + 0xb8], rsi
call fcn.1800303b0
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov r8, rbx
xor edx, edx
mov rcx, rbp
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
mov r14, qword [rsp + 0x20]
jmp 0x1800308c3
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x1800307b4
mov rsi, r13
jmp 0x1800307e9
mov eax, 1
mov dword [rsi + 4], 0x10
mov dword [rsi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsi + 8], rax
test rax, rax
jne 0x1800307e2
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, r13
jmp 0x1800307e9
mov dword [rax], r13d
mov dword [rsi + 0x10], r13d
mov edx, edi
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
movsxd rcx, dword [rbp + 0x28]
lea eax, [rcx + 2]
cmp eax, 1
jbe 0x18003086e
cmp ecx, dword [rbp + 4]
jb 0x180030830
mov eax, 0xfffffffd
sub eax, ecx
cmp eax, 5
jae 0x18003086e
shl rax, 5
cmp dword [rax + rbp + 0xe8], 0
jbe 0x18003082b
mov rax, qword [rax + rbp + 0xf0]
mov rbx, qword [rax]
jmp 0x180030845
mov rbx, r13
jmp 0x180030845
mov rax, qword [rbp + 0x10]
cmp dword [rax + rcx*4], 0
jbe 0x18003086e
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003086e
nop word [rax + rax]
mov rdx, qword [rbx + 0xb8]
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_intersects
test eax, eax
jne 0x180030871
mov rbx, qword [rbx + 0x38]
test rbx, rbx
jne 0x180030850
jmp 0x180030871
mov rbx, r13
test rsi, rsi
je 0x180030889
mov rcx, qword [rsi + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
je 0x180030968
mov eax, edi
mov r8d, 1
imul rdx, rax, 0x88
mov rcx, rbx
add rdx, qword [rsp + 0xc8]
call fcn.1800303b0
mov r8, qword [rbx + 0xb8]
mov rdx, r14
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_andnot
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov edi, eax
cmp eax, 0xffffffff
jne 0x180030692
mov rsi, qword [rsp + 0x30]
test r12d, r12d
je 0x180030b00
mov ebx, dword [rsi]
mov rcx, r14
mov edx, ebx
call fcn.18001aa40
test eax, eax
jne 0x180030912
mov rcx, qword [r14 + 8]
mov dword [r14], ebx
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x10]
mov dword [r14 + 0x10], eax
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
je 0x180030b00
mov r15, qword [rsp + 0x28]
nop word [rax + rax]
mov rax, qword [rsp + 0xc8]
mov ecx, ebx
imul rdx, rcx, 0x88
lea rdi, [rax + 8]
add rdi, rdx
mov ebp, dword [rdx + rax + 0xc]
mov r14d, dword [rdi]
cmp ebp, 0xffffffff
jne 0x1800309ac
mov r14, qword [rsp + 0x20]
mov edx, ebx
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
jmp 0x180030add
cmp dword [rbp + 4], 0
ja 0x180030973
mov rcx, r13
jmp 0x18003098b
mov rax, qword [rbp + 0x10]
cmp dword [rax], 0
ja 0x180030981
mov rcx, r13
jmp 0x18003098b
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
mov rcx, qword [rcx]
mov eax, edi
mov r8d, 1
imul rdx, rax, 0x88
add rdx, qword [rsp + 0xc8]
call fcn.1800303b0
jmp 0x180030b00
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x1800309c4
mov rsi, r13
jmp 0x1800309f9
mov eax, 1
mov dword [rsi + 4], 0x10
mov dword [rsi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsi + 8], rax
test rax, rax
jne 0x1800309f2
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, r13
jmp 0x1800309f9
mov dword [rax], r13d
mov dword [rsi + 0x10], r13d
cmp ebx, dword [rsp + 0xc0]
jae 0x180030a48
mov r12, qword [rsp + 0x20]
mov r15d, dword [rsp + 0xc0]
nop
mov eax, dword [rdi + 4]
cmp eax, 0xffffffff
je 0x180030a2b
cmp dword [rdi], r14d
jne 0x180030a35
cmp eax, ebp
jne 0x180030a35
mov edx, ebx
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov edx, ebx
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
inc ebx
add rdi, 0x88
cmp ebx, r15d
jb 0x180030a10
mov r15, qword [rsp + 0x28]
mov r8d, ebp
mov edx, 0xd
mov rcx, r15
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
mov ecx, 0x18
mov rdi, rax
mov qword [rax + 0xb8], rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
jne 0x180030a7a
mov rbx, r13
jmp 0x180030aaf
mov eax, 1
mov dword [rbx + 4], 0x10
mov dword [rbx], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbx + 8], rax
test rax, rax
jne 0x180030aa8
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, r13
jmp 0x180030aaf
mov dword [rax], r13d
mov dword [rbx + 0x10], r13d
mov edx, ebp
mov qword [rdi + 0xc8], rbx
mov rcx, rbx
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov r8, rdi
xor edx, edx
mov rcx, r15
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
inc dword [rsp + 0x3c]
mov r14, qword [rsp + 0x20]
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
jne 0x180030930
mov r15d, dword [rsp + 0xd8]
mov r12d, dword [rsp + 0xd0]
mov rbp, qword [rsp + 0x28]
cmp dword [rbp + 0x9c], 1
je 0x180030ee3
mov rsi, qword [rsp + 0x30]
test r12d, r12d
je 0x180030caf
mov ebx, dword [rsi]
mov rcx, r14
mov edx, ebx
call fcn.18001aa40
test eax, eax
jne 0x180030b4e
mov rcx, qword [r14 + 8]
mov dword [r14], ebx
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x10]
mov dword [r14 + 0x10], eax
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
je 0x180030caf
mov r15, rbp
mov rax, qword [rsp + 0xc8]
mov ecx, ebx
imul rdx, rcx, 0x88
lea rdi, [rax + 8]
add rdi, rdx
mov ebp, dword [rdx + rax + 0x10]
mov r14d, dword [rdi]
cmp ebp, 0xffffffff
jne 0x180030b9c
mov r14, qword [rsp + 0x20]
mov edx, ebx
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
jmp 0x180030c87
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x180030bb4
mov rsi, r13
jmp 0x180030be9
mov eax, 1
mov dword [rsi + 4], 0x10
mov dword [rsi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsi + 8], rax
test rax, rax
jne 0x180030be2
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, r13
jmp 0x180030be9
mov dword [rax], r13d
mov dword [rsi + 0x10], r13d
cmp ebx, dword [rsp + 0xc0]
jae 0x180030c38
mov r12, qword [rsp + 0x20]
mov r15d, dword [rsp + 0xc0]
nop
mov eax, dword [rdi + 8]
cmp eax, 0xffffffff
je 0x180030c1b
cmp dword [rdi], r14d
jne 0x180030c25
cmp eax, ebp
jne 0x180030c25
mov edx, ebx
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov edx, ebx
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
inc ebx
add rdi, 0x88
cmp ebx, r15d
jb 0x180030c00
mov r15, qword [rsp + 0x28]
mov r8d, ebp
mov edx, 0xc
mov rcx, r15
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
lea rcx, str.ComputeUnit
mov rbx, rax
mov qword [rax + 0xb8], rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov rcx, qword [rbx + 0x28]
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov qword [rbx + 8], rax
mov r8, rbx
xor edx, edx
mov dword [rcx + 4], 0x78
mov rcx, r15
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
mov r14, qword [rsp + 0x20]
mov rcx, r14
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
jne 0x180030b64
mov r15d, dword [rsp + 0xd8]
mov r12d, dword [rsp + 0xd0]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0xc8]
movsxd rax, r15d
imul r13, rax, 0x88
add r13, rbp
mov qword [rsp + 0xd8], r13
cmp qword [r13 + 0x20], 0
je 0x180030ee0
mov r15d, dword [r13 + 0x28]
mov r12, qword [rsp + 0x20]
dec r15d
mov rax, qword [r13 + 0x20]
lea r14, [r15*4]
cmp dword [r14 + rax], 0xffffffff
je 0x180030ec1
mov edi, dword [rsi]
lea eax, [rdi - 1]
test eax, eax
jne 0x180030d07
xor ecx, ecx
jmp 0x180030d4c
mov ecx, eax
and ecx, 0xffff0000
je 0x180030d14
shr eax, 0x10
test ecx, ecx
mov edx, 0x11
mov ecx, 1
cmove edx, ecx
test eax, 0xff00
je 0x180030d30
shr eax, 8
add edx, 8
test al, 0xf0
je 0x180030d3a
shr eax, 4
add edx, 4
test al, 0xc
je 0x180030d44
shr eax, 2
add edx, 2
test al, 2
lea ecx, [rdx + 1]
cmove ecx, edx
mov ebx, 1
shl ebx, cl
cmp ebx, dword [r12 + 4]
jbe 0x180030d7a
mov rcx, qword [r12 + 8]
mov edx, ebx
shl rdx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x180030d9b
mov qword [r12 + 8], rax
mov dword [r12 + 4], ebx
mov rcx, qword [r12 + 8]
mov dword [r12], edi
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsi + 0x10]
mov dword [r12 + 0x10], eax
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
je 0x180030ec1
mov r13, qword [rsp + 0x28]
nop dword [rax]
nop word [rax + rax]
mov ecx, ebx
imul rdi, rcx, 0x88
add rdi, 0x20
add rdi, rbp
mov rcx, qword [rdi]
mov ebp, dword [r14 + rcx]
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x180030e1e
mov eax, 1
mov dword [rsi + 4], 0x10
mov dword [rsi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsi + 8], rax
test rax, rax
jne 0x180030e17
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor esi, esi
jmp 0x180030e1e
xor ecx, ecx
mov dword [rax], ecx
mov dword [rsi + 0x10], ecx
cmp ebx, dword [rsp + 0xc0]
jae 0x180030e60
mov r13d, dword [rsp + 0xc0]
nop
mov rax, qword [rdi]
cmp dword [r14 + rax], ebp
jne 0x180030e4d
mov edx, ebx
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov edx, ebx
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
inc ebx
add rdi, 0x88
cmp ebx, r13d
jb 0x180030e30
mov r13, qword [rsp + 0x28]
mov r8d, ebp
mov edx, 0xc
mov rcx, r13
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov r8, rax
xor edx, edx
mov rcx, qword [rax + 0x28]
mov qword [rax + 0xb8], rsi
mov dword [rcx + 4], 0x65
mov rcx, qword [rax + 0x28]
mov dword [rcx + 8], r15d
mov rcx, r13
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov rbp, qword [rsp + 0xc8]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x180030dc0
mov r13, qword [rsp + 0xd8]
mov eax, dword [r13 + 0x28]
dec r15d
mov rsi, qword [rsp + 0x30]
dec eax
cmp r15d, eax
jbe 0x180030ce3
mov r12d, dword [rsp + 0xd0]
xor r13d, r13d
mov rdi, qword [rsp + 0x28]
cmp dword [rdi + 0x74], 1
je 0x1800310e4
test r12d, r12d
je 0x18003125e
mov r14, qword [rsp + 0x30]
mov edi, dword [r14]
lea eax, [rdi - 1]
test eax, eax
jne 0x180030f0f
mov ecx, r13d
jmp 0x180030f54
mov ecx, eax
and ecx, 0xffff0000
je 0x180030f1c
shr eax, 0x10
test ecx, ecx
mov edx, 0x11
mov ecx, 1
cmove edx, ecx
test eax, 0xff00
je 0x180030f38
shr eax, 8
add edx, 8
test al, 0xf0
je 0x180030f42
shr eax, 4
add edx, 4
test al, 0xc
je 0x180030f4c
shr eax, 2
add edx, 2
test al, 2
lea ecx, [rdx + 1]
cmove ecx, edx
mov rsi, qword [rsp + 0x20]
mov ebx, 1
shl ebx, cl
cmp ebx, dword [rsi + 4]
jbe 0x180030f81
mov rcx, qword [rsi + 8]
mov edx, ebx
shl rdx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x180030f9e
mov qword [rsi + 8], rax
mov dword [rsi + 4], ebx
mov rcx, qword [rsi + 8]
mov dword [rsi], edi
mov r8d, dword [r14]
mov rdx, qword [r14 + 8]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [r14 + 0x10]
mov dword [rsi + 0x10], eax
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
je 0x1800310df
mov rax, qword [rsp + 0xc8]
mov ecx, ebx
imul rdx, rcx, 0x88
lea rdi, [rax + 8]
add rdi, rdx
mov ebp, dword [rdx + rax + 0x18]
mov r14d, dword [rdi]
mov r15d, dword [rdx + rax + 0xc]
cmp ebp, 0xffffffff
jne 0x180030fee
mov edx, ebx
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
mov rdi, qword [rsp + 0x28]
jmp 0x1800310c2
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x180031006
mov rsi, r13
jmp 0x18003103b
mov eax, 1
mov dword [rsi + 4], 0x10
mov dword [rsi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsi + 8], rax
test rax, rax
jne 0x180031034
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, r13
jmp 0x18003103b
mov dword [rax], r13d
mov dword [rsi + 0x10], r13d
cmp ebx, dword [rsp + 0xc0]
jae 0x18003108d
mov r12, qword [rsp + 0x20]
nop dword [rax]
mov eax, dword [rdi + 0x10]
cmp eax, 0xffffffff
je 0x180031071
cmp dword [rdi], r14d
jne 0x18003107b
cmp dword [rdi + 4], r15d
jne 0x18003107b
cmp eax, ebp
jne 0x18003107b
mov edx, ebx
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov edx, ebx
mov rcx, r12
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
inc ebx
add rdi, 0x88
cmp ebx, dword [rsp + 0xc0]
jb 0x180031050
mov rdi, qword [rsp + 0x28]
mov r8d, ebp
mov rcx, rdi
mov edx, 2
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov r8, rax
xor edx, edx
mov rcx, rdi
mov qword [rax + 0xb8], rsi
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
mov rsi, qword [rsp + 0x20]
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov ebx, eax
cmp eax, 0xffffffff
jne 0x180030fb1
mov r12d, dword [rsp + 0xd0]
jmp 0x1800310e4
mov rdi, qword [rsp + 0x28]
test r12d, r12d
je 0x18003125e
mov r15, qword [rsp + 0xc8]
xor r12d, r12d
mov r9d, dword [rsp + 0xc0]
mov esi, r12d
cmp dword [r15], r12d
je 0x18003124a
mov r8d, esi
mov edx, 3
mov rcx, rdi
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
mov ecx, 0x18
mov r13, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
mov edi, 1
test rax, rax
jne 0x18003113c
mov rbx, r12
jmp 0x18003116e
mov ecx, 0x40
mov dword [rax], edi
mov dword [rax + 4], 0x10
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbx + 8], rax
test rax, rax
jne 0x180031167
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, r12
jmp 0x18003116e
mov dword [rax], r12d
mov dword [rbx + 0x10], r12d
mov ebp, esi
mov qword [r13 + 0xb8], rbx
shr ebp, 5
mov eax, ebp
lea r14d, [rbp + 1]
test ebp, ebp
jne 0x180031189
mov ecx, r12d
jmp 0x1800311c9
mov ecx, eax
and ecx, 0xffff0000
je 0x180031196
shr eax, 0x10
test ecx, ecx
mov edx, 0x11
cmove edx, edi
test eax, 0xff00
je 0x1800311ad
shr eax, 8
add edx, 8
test al, 0xf0
je 0x1800311b7
shr eax, 4
add edx, 4
test al, 0xc
je 0x1800311c1
shr eax, 2
add edx, 2
test al, 2
lea ecx, [rdx + 1]
cmove ecx, edx
shl edi, cl
cmp edi, dword [rbx + 4]
jbe 0x1800311ec
mov rcx, qword [rbx + 8]
mov edx, edi
shl rdx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x180031229
mov qword [rbx + 8], rax
mov dword [rbx + 4], edi
mov dword [rbx], r14d
mov edx, r12d
test r14d, r14d
je 0x180031210
nop word [rax + rax]
mov rax, qword [rbx + 8]
mov ecx, edx
inc edx
mov dword [rax + rcx*4], r12d
cmp edx, dword [rbx]
jb 0x180031200
mov rax, qword [rbx + 8]
mov ecx, esi
mov dword [rbx + 0x10], r12d
and ecx, 0x1f
lea rdx, [rax + rbp*4]
mov eax, dword [rax + rbp*4]
bts eax, ecx
mov dword [rdx], eax
mov rdi, qword [rsp + 0x28]
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov rcx, rdi
mov r8, r13
xor edx, edx
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
mov r9d, dword [rsp + 0xc0]
inc esi
add r15, 0x88
cmp esi, r9d
jb 0x180031103
jmp 0x180031261
xor r12d, r12d
mov rsi, qword [rsp + 0xc8]
mov r9d, r12d
mov r14d, dword [rsp + 0xc0]
add rsi, 0x30
mov r15d, dword [0x18009d5e8]
nop
mov r10d, dword [rsi - 4]
mov r11d, r12d
test r10d, r10d
je 0x1800313b7
cmp r10d, 8
jb 0x180031382
cmp r15d, 2
jl 0x180031382
mov rdi, qword [rsi]
mov ebp, r10d
movd xmm4, r9d
and ebp, 0xfffffff8
pshufd xmm4, xmm4, 0
mov ebx, 2
movdqa xmm5, xmm4
lea eax, [rbx + 1]
mov r9d, r11d
lea r8, [rax + rax*4]
add r11d, 8
movd xmm1, dword [rdi + r8*8 + 4]
mov eax, ebx
lea rcx, [r9 + r9*4]
movd xmm3, dword [rdi + rcx*8 + 4]
lea rdx, [rax + rax*4]
movd xmm0, dword [rdi + rdx*8 + 4]
lea eax, [rbx - 1]
lea rax, [rax + rax*4]
punpckldq xmm3, xmm0
movd xmm2, dword [rdi + rax*8 + 4]
lea eax, [rbx + 5]
lea r9, [rax + rax*4]
punpckldq xmm2, xmm1
movd xmm1, dword [rdi + r9*8 + 4]
lea eax, [rbx + 4]
punpckldq xmm3, xmm2
lea r8, [rax + rax*4]
movd xmm0, dword [rdi + r8*8 + 4]
lea eax, [rbx + 3]
lea rdx, [rax + rax*4]
pmaxud xmm4, xmm3
movd xmm2, dword [rdi + rdx*8 + 4]
lea eax, [rbx + 2]
lea rax, [rax + rax*4]
punpckldq xmm2, xmm1
movd xmm3, dword [rdi + rax*8 + 4]
add ebx, 8
punpckldq xmm3, xmm0
punpckldq xmm3, xmm2
pmaxud xmm5, xmm3
cmp r11d, ebp
jb 0x1800312c0
pmaxud xmm4, xmm5
movdqa xmm0, xmm4
psrldq xmm0, 8
pmaxud xmm4, xmm0
movdqa xmm0, xmm4
psrldq xmm0, 4
pmaxud xmm4, xmm0
movd r9d, xmm4
cmp r11d, r10d
jae 0x1800313b7
mov eax, r11d
lea rcx, [rax + rax*4]
lea r8, [rcx*8 + 4]
add r8, qword [rsi]
sub r10d, r11d
mov ecx, r10d
nop
mov eax, r9d
mov r9d, dword [r8]
cmp r9d, eax
lea r8, [r8 + 0x28]
cmovbe r9d, eax
sub rcx, 1
jne 0x1800313a0
add rsi, 0x88
sub r14, 1
jne 0x180031280
mov rbp, qword [rsp + 0x28]
mov r14d, r9d
mov dword [rsp + 0x38], r9d
test r9d, r9d
je 0x1800319cb
nop
lea eax, [r14 - 1]
mov dword [rsp + 0x40], r12d
mov dword [rsp + 0xd8], eax
mov r15d, r12d
movsxd rdx, r14d
cmp r12d, 2
jne 0x18003140c
cmp eax, 2
ja 0x1800319aa
mov eax, 8
jmp 0x18003141a
cmp eax, 4
ja 0x1800319aa
mov eax, 3
mov rcx, rax
add eax, r14d
add rcx, rdx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x58], rcx
cmp eax, 0xffffffff
je 0x1800319a3
cmp eax, 0x12
jb 0x18003144b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 0x16
jmp 0x1800319a0
cmp dword [rbp + rcx*4 + 0x6c], 1
je 0x1800319a3
mov r13, qword [rsp + 0x30]
mov edi, dword [r13]
lea eax, [rdi - 1]
test eax, eax
jne 0x18003146b
mov ecx, r12d
jmp 0x1800314b0
mov ecx, eax
and ecx, 0xffff0000
je 0x180031478
shr eax, 0x10
test ecx, ecx
mov edx, 0x11
mov ecx, 1
cmove edx, ecx
test eax, 0xff00
je 0x180031494
shr eax, 8
add edx, 8
test al, 0xf0
je 0x18003149e
shr eax, 4
add edx, 4
test al, 0xc
je 0x1800314a8
shr eax, 2
add edx, 2
test al, 2
lea ecx, [rdx + 1]
cmove ecx, edx
mov rsi, qword [rsp + 0x20]
mov ebx, 1
shl ebx, cl
cmp ebx, dword [rsi + 4]
jbe 0x1800314dd
mov rcx, qword [rsi + 8]
mov edx, ebx
shl rdx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x1800314fb
mov qword [rsi + 8], rax
mov dword [rsi + 4], ebx
mov rcx, qword [rsi + 8]
mov dword [rsi], edi
mov r8d, dword [r13]
mov rdx, qword [r13 + 8]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [r13 + 0x10]
mov dword [rsi + 0x10], eax
mov rcx, rsi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov esi, eax
cmp eax, 0xffffffff
je 0x1800319a0
nop
mov ecx, esi
mov ebp, r12d
imul r13, rcx, 0x88
add r13, qword [rsp + 0xc8]
mov edx, dword [r13 + 0x2c]
test edx, edx
je 0x180031549
mov r8, qword [r13 + 0x30]
mov eax, ebp
lea rcx, [rax + rax*4]
cmp dword [r8 + rcx*8 + 4], r14d
jne 0x180031543
cmp dword [r8 + rcx*8], r15d
je 0x180031549
inc ebp
cmp ebp, edx
jb 0x180031530
cmp ebp, edx
jne 0x18003155e
mov rcx, qword [rsp + 0x20]
mov edx, esi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
jmp 0x180031986
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
jne 0x180031576
mov rdi, r12
jmp 0x1800315ab
mov eax, 1
mov dword [rdi + 4], 0x10
mov dword [rdi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 8], rax
test rax, rax
jne 0x1800315a4
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, r12
jmp 0x1800315ab
mov dword [rax], r12d
mov dword [rdi + 0x10], r12d
mov edx, esi
mov rcx, rdi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x28]
movsxd rcx, dword [rdx + rax*4 + 0x24]
lea eax, [rcx + 2]
cmp eax, 1
jbe 0x18003163e
cmp ecx, dword [rdx + 4]
jb 0x1800315fd
mov eax, 0xfffffffd
sub eax, ecx
cmp eax, 5
jae 0x18003163e
shl rax, 5
cmp dword [rax + rdx + 0xe8], 0
jbe 0x1800315f8
mov rax, qword [rax + rdx + 0xf0]
mov rbx, qword [rax]
jmp 0x180031612
mov rbx, r12
jmp 0x180031612
mov rax, qword [rdx + 0x10]
cmp dword [rax + rcx*4], 0
jbe 0x18003163e
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx]
test rbx, rbx
je 0x18003163e
nop word [rax + rax]
mov rdx, qword [rbx + 0xb8]
mov rcx, rdi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_intersects
test eax, eax
jne 0x180031641
mov rbx, qword [rbx + 0x38]
test rbx, rbx
jne 0x180031620
jmp 0x180031641
mov rbx, r12
test rdi, rdi
je 0x180031659
mov rcx, qword [rdi + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test rbx, rbx
je 0x18003176c
mov r14d, dword [rbx + 0xe0]
mov esi, r12d
test r14d, r14d
je 0x1800316ae
mov r15, qword [rbx + 0xd8]
nop dword [rax + rax]
mov edi, esi
lea rdx, str.Inclusive
add rdi, rdi
mov rcx, qword [r15 + rdi*8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x1800316a2
inc esi
cmp esi, r14d
jb 0x180031680
jmp 0x1800316ae
cmp qword [r15 + rdi*8 + 8], 0
jne 0x180031749
mov esi, dword [rbx + 0xe0]
mov rdi, qword [rbx + 0xd8]
mov eax, ebp
lea rbp, [0x18008efc0]
lea rcx, [rax + rax*4]
mov rax, qword [r13 + 0x30]
cmp dword [rax + rcx*8 + 0x18], 0
lea rax, [0x18008efbc]
cmovne rbp, rax
lea eax, [rsi + 8]
and eax, 0xfffffff8
cmp esi, eax
je 0x180031704
mov edx, eax
mov rcx, rdi
shl rdx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov rdi, rax
test rax, rax
je 0x180031749
mov qword [rbx + 0xd8], rax
lea rcx, str.Inclusive
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov rdx, rsi
shl rdx, 4
add rdi, rdx
mov qword [rdi], rax
test rax, rax
je 0x180031749
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rdi + 8], rax
test rax, rax
jne 0x180031740
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180031749
lea eax, [rsi + 1]
mov dword [rbx + 0xe0], eax
mov rdx, qword [rsp + 0x20]
mov r8, qword [rbx + 0xb8]
mov rcx, rdx
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_andnot
mov r14d, dword [rsp + 0x38]
mov r15d, dword [rsp + 0x40]
jmp 0x180031986
mov eax, dword [r13 + 8]
add r13, 0x30
mov dword [rsp + 0x44], eax
mov eax, ebp
mov rbp, r13
mov qword [rsp + 0x50], r13
lea rcx, [rax + rax*4]
lea rax, [rcx*8]
mov qword [rsp + 0x60], rax
mov rax, qword [r13]
mov r13d, dword [rax + rcx*8 + 0xc]
mov ecx, 0x18
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
jne 0x1800317b4
mov rdi, r12
jmp 0x1800317e9
mov eax, 1
mov dword [rdi + 4], 0x10
mov dword [rdi], eax
lea ecx, [rax + 0x3f]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rdi + 8], rax
test rax, rax
jne 0x1800317e2
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdi, r12
jmp 0x1800317e9
mov dword [rax], r12d
mov dword [rdi + 0x10], r12d
cmp esi, dword [rsp + 0xc0]
jae 0x180031871
mov rbx, rbp
mov ebp, dword [rsp + 0x44]
nop dword [rax]
mov r8d, dword [rbx - 4]
mov eax, r12d
test r8d, r8d
je 0x18003182a
mov r9, qword [rbx]
nop
mov ecx, eax
lea rdx, [rcx + rcx*4]
cmp dword [r9 + rdx*8 + 4], r14d
jne 0x180031823
cmp dword [r9 + rdx*8], r15d
je 0x18003182a
inc eax
cmp eax, r8d
jb 0x180031810
cmp eax, r8d
je 0x18003184e
cmp dword [rbx - 0x28], ebp
jne 0x18003185a
mov ecx, eax
mov rax, qword [rbx]
lea rdx, [rcx + rcx*4]
cmp dword [rax + rdx*8 + 0xc], r13d
jne 0x18003185a
mov edx, esi
mov rcx, rdi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_set
mov rcx, qword [rsp + 0x20]
mov edx, esi
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_clr
inc esi
add rbx, 0x88
cmp esi, dword [rsp + 0xc0]
jb 0x180031800
mov rbp, qword [rsp + 0x50]
mov r13, qword [rsp + 0x28]
or r8d, 0xffffffff
mov edx, dword [rsp + 0x48]
mov rcx, r13
call sym.xmrstak_cuda_backend.dll_hwloc_alloc_setup_object
mov r8, qword [rsp + 0x60]
mov rbx, rax
mov rcx, qword [rax + 0x28]
mov dword [rcx + 8], r14d
mov rcx, qword [rbp]
mov edx, dword [r8 + rcx + 0x24]
mov rcx, qword [rax + 0x28]
mov qword [rcx], rdx
mov rdx, qword [rax + 0x28]
mov rcx, qword [rbp]
mov ecx, dword [r8 + rcx + 0x10]
mov dword [rdx + 0xc], ecx
mov rdx, qword [rax + 0x28]
mov rcx, qword [rbp]
mov ecx, dword [r8 + rcx + 0x1c]
mov dword [rdx + 0x10], ecx
mov rax, qword [rbp]
mov rcx, qword [rbx + 0x28]
mov eax, dword [r8 + rax]
mov dword [rcx + 0x14], eax
mov qword [rbx + 0xb8], rdi
mov rax, qword [rbp]
lea rbp, [0x18008efc0]
mov esi, dword [rbx + 0xe0]
mov rdi, qword [rbx + 0xd8]
cmp dword [r8 + rax + 0x18], 0
lea rax, [0x18008efbc]
cmovne rbp, rax
lea eax, [rsi + 8]
and eax, 0xfffffff8
cmp esi, eax
je 0x18003192d
mov edx, eax
mov rcx, rdi
shl rdx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov rdi, rax
test rax, rax
je 0x180031972
mov qword [rbx + 0xd8], rax
lea rcx, str.Inclusive
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov rdx, rsi
shl rdx, 4
add rdi, rdx
mov qword [rdi], rax
test rax, rax
je 0x180031972
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rdi + 8], rax
test rax, rax
jne 0x180031969
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180031972
lea eax, [rsi + 1]
mov dword [rbx + 0xe0], eax
lea r9, [sym.xmrstak_cuda_backend.dll_hwloc_report_os_error]
mov r8, rbx
xor edx, edx
mov rcx, r13
call sym.xmrstak_cuda_backend.dll_hwloc__insert_object_by_cpuset
mov rcx, qword [rsp + 0x20]
call sym.xmrstak_cuda_backend.dll_hwloc_bitmap_first
mov esi, eax
cmp eax, 0xffffffff
jne 0x180031510
mov rbp, qword [rsp + 0x28]
movsxd rdx, r14d
mov eax, dword [rsp + 0xd8]
inc r15d
mov dword [rsp + 0x40], r15d
cmp r15d, 2
jle 0x1800313fa
mov dword [rsp + 0x38], eax
mov r14d, eax
test eax, eax
jne 0x1800313e0
mov rbx, qword [rsp + 0x20]
test rbx, rbx
je 0x1800319e8
mov rcx, qword [rbx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x180031a05
mov rcx, qword [rbx + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp dword [rsp + 0x3c], 0
je 0x180031a31
mov rax, qword [rbp + 0x258]
mov byte [rax + 1], 1
jmp 0x180031a31
test r14, r14
je 0x180031a31
mov rcx, qword [r14 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret