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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x40
mov r11, rdx
mov rdi, rcx
mov r15d, 1
lock add qword [0x18007f3a0], r15
mov rsi, qword [rsp + 0xb8]
lea rbx, [rcx + 0x24]
mov eax, dword [rsp + 0xd0]
lea r12d, [r15 + 0x24]
mov r10d, dword [rsp + 0x80]
xor r14d, r14d
mov qword [rcx + 8], rdx
test r9d, r9d
mov edx, dword [rsp + 0xa0]
cmove r10d, r12d
mov qword [rcx + 0x10], r8
mov dword [rcx + 0x18], r10d
mov dword [rcx + 0x1c], r9d
mov dword [rcx + 0x20], edx
mov dword [rcx + 0x44], eax
movsd xmm0, qword [rsi]
movsd qword [rbx], xmm0
mov eax, dword [rsi + 8]
mov dword [rbx + 8], eax
cmp r10d, 0x2c
je 0x1800207a1
cmp r10d, 0x79
jne 0x1800207ba
mov eax, dword [rbx]
mov ecx, 0xfffffffe
add eax, r15d
and eax, ecx
mov dword [rbx], eax
mov eax, dword [rdi + 0x28]
add eax, r15d
and eax, ecx
mov dword [rdi + 0x28], eax
mov eax, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0xc8]
mov r9d, dword [rsp + 0x88]
mov r8d, dword [rsp + 0x90]
mov dword [rdi + 0x50], eax
mov eax, dword [rsp + 0x98]
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x30], r9d
mov dword [rdi + 0x34], r8d
mov byte [rdi + 0x48], r14b
test cl, 8
je 0x1800207fd
bts eax, 0xe
mov dword [rdi + 0x54], eax
mov dword [rdi + 0x60], ecx
shr ecx, 2
and cl, r15b
mov dword [rsp + 0x30], r10d
mov byte [rsp + 0x28], cl
mov rcx, r11
mov dword [rsp + 0x20], edx
mov edx, dword [rdi + 0x54]
call fcn.18001cfa8
mov edx, dword [rdi + 0x54]
lea rbp, [rdi + 0x68]
mov qword [rdi + 0x58], rax
shr edx, 2
mov al, dl
mov qword [rdi + 0x150], r14
and al, r15b
mov word [rdi + 0x17c], r14w
neg al
mov qword [rdi + 0x70], rbp
movsx rax, dl
sbb ecx, ecx
mov qword [rdi + 0x78], rbp
and ecx, 0xffffffb6
mov qword [rdi + 0x168], r14
add ecx, 0x4b
mov dword [rdi + 0x180], r15d
mov dword [rdi + 0x158], ecx
and rax, r15
mov dword [rdi + 0x15c], 0x80
lock xadd qword [0x18007f548], rax
mov ecx, dword [rdi + 0x60]
shr ecx, 2
test r15b, cl
jne 0x18002089c
cmp dword [rdi + 0x44], r15d
je 0x18002089c
mov eax, dword [rdi + 0x54]
shr eax, 0xe
test r15b, al
je 0x1800208aa
mov dword [rdi + 0x158], r15d
mov dword [rdi + 0x15c], r15d
cmp byte [rdi + 0x162], r14b
jne 0x1800208c7
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x48d0]
mov al, r14b
cmp dword [rcx + 8], 7
jbe 0x1800208ca
mov al, r15b
mov byte [rdi + 0x160], al
cmp byte [0x180074784], r14b
jne 0x1800208ea
cmp dword [rdi + 0x18], r12d
movzx eax, al
cmovne eax, r14d
mov byte [rdi + 0x160], al
mov ecx, dword [rdi + 0x18]
mov qword [rdi + 0x190], r14
mov qword [rdi + 0x188], r14
mov qword [rdi + 0x1a8], r14
mov qword [rdi + 0x1b0], r14
cmp ecx, 0x61
jne 0x18002091a
cmp byte [0x180074784], r14b
mov al, r15b
je 0x18002091d
mov al, r14b
mov r9d, dword [rdi + 0x34]
mov rdx, rbx
mov r8d, dword [rdi + 0x30]
mov byte [rdi + 0x161], al
mov eax, dword [rdi + 0x20]
test eax, eax
mov dword [rsp + 0x28], r14d
cmove eax, r15d
mov dword [rsp + 0x20], eax
call fcn.180024f40
mov dword [rdi + 0x38], eax
cmp byte [rdi + 0x160], r14b
je 0x18002096c
cmp byte [0x180074784], r14b
je 0x18002096c
cmp dword [rdi + 0x18], r12d
jne 0x18002096c
cmp eax, 0x800
jae 0x18002096c
mov eax, 0x1000
mov dword [rdi + 0x3c], eax
mov eax, dword [rdi + 0x54]
shr eax, 0xe
mov dword [rdi + 0x40], r14d
test r15b, al
je 0x180020994
mov eax, dword [rsi + 0x28]
mov dword [rdi + 0x198], eax
mov rax, qword [rsi + 0x2c]
mov qword [rdi + 0x19c], rax
jmp 0x1800209a2
mov qword [rdi + 0x198], r14
mov dword [rdi + 0x1a0], r14d
cmp dword [rdi + 0x44], r15d
jne 0x180020a27
mov rdx, r15
mov ecx, 0xe8
call fcn.18003b868
mov rsi, rax
test rax, rax
je 0x180020aad
mov rdx, qword [rdi + 0x170]
lea rbx, [rax + 0x20]
mov eax, dword [rdi + 0x38]
lea r9, str.SimpleResource_Opened
mov qword [rsp + 0x28], rbx
mov r8, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rax]
call fcn.180016d14
mov eax, dword [rdi + 0x50]
xor r9d, r9d
mov rcx, qword [rdi + 8]
mov r8, rbx
mov dl, r15b
mov dword [rsp + 0x20], eax
call fcn.18000bde0
mov qword [rsi + 8], rbp
mov ebx, r14d
mov rax, qword [rdi + 0x78]
mov qword [rsi + 0x10], rax
mov rax, qword [rdi + 0x78]
mov qword [rax + 8], rsi
mov qword [rdi + 0x78], rsi
jmp 0x180020a64
mov rcx, rdi
call fcn.1800225ec
mov ebx, eax
test eax, eax
jns 0x180020a64
mov dl, r15b
mov rcx, rdi
call fcn.18001d7f8
mov ebx, eax
test eax, eax
js 0x180020a64
mov r8, qword [rdi + 0x70]
xor r9d, r9d
mov eax, dword [rdi + 0x50]
add r8, 0x20
mov rcx, qword [rdi + 8]
mov dl, r15b
mov dword [rsp + 0x20], eax
call fcn.18000bde0
mov eax, dword [rdi + 0x54]
shr eax, 0xe
test r15b, al
je 0x180020a8c
cmp dword [rdi + 0x20], r14d
jbe 0x180020a8c
mov rcx, rdi
call fcn.18001e970
cmp qword [rdi + 0x1b0], r14
mov eax, 0x80004005
cmove ebx, eax
mov rbp, qword [rsp + 0x68]
mov eax, ebx
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop r12
ret
mov r8d, 0x6d1
lea rdx, str.d:_buildob_bora_14243573_bora_vmsoft_build_release_x64_svgawddm_srcusermode_simpleresource.cpp
lea rcx, str.VERIFY__s:_d_n
call fcn.18002d370
int3