Function at 0x180086100
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov ebx, 0xc0000001
mov dword [rsp + 0x20], ebx
xor edi, edi
mov qword [0x180156f08], rdi
mov qword [0x180156ec8], rdi
mov qword [0x180156f00], rdi
lea rcx, str.user32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword ds:[rsp + 0x40], rax
test rax, rax
jne 0x180086195
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
nop word [rax + rax]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
lea edx, [rdi + 0xa]
lea r8, [0x180135e88]
mov rcx, qword [rcx + 0x10]
call fcn.180011520
jmp 0x1800863c1
lea rdx, [0x180135e10]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180156f08], rax
mov rax, qword [0x180156f08]
test rax, rax
jne 0x1800861ef
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
mov edx, 0xb
jmp 0x180086180
lea rdx, str.GetWindowInfo
mov rcx, qword ds:[rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180156ec8], rax
mov rax, qword [0x180156ec8]
test rax, rax
jne 0x180086252
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
mov edx, 0xc
jmp 0x180086180
lea rdx, str.GetWindowThreadProcessId
mov rcx, qword ds:[rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180156f00], rax
mov rax, qword [0x180156f00]
test rax, rax
jne 0x1800862b2
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
mov edx, 0xd
jmp 0x180086180
lea rdx, str.WindowFromDC
mov rcx, qword ds:[rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180156f10], rax
mov rax, qword [0x180156f10]
test rax, rax
jne 0x180086312
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
mov edx, 0xe
jmp 0x180086180
lea rdx, str.GetClassNameW
mov rcx, qword ds:[rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180156f20], rax
mov rax, qword [0x180156f20]
test rax, rax
jne 0x180086366
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
mov edx, 0xf
jmp 0x180086180
lea rdx, str.GetForegroundWindow
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180156f18], rax
mov rax, qword [0x180156f18]
test rax, rax
jne 0x1800863bb
mov dword [rsp + 0x20], ebx
lea rax, [0x180146040]
mov rcx, qword [0x180146040]
nop dword [rax]
cmp rcx, rax
je 0x1800863c1
test byte [rcx + 0x1c], 8
je 0x1800863c1
cmp byte [rcx + 0x19], 2
jb 0x1800863c1
mov edx, 0x10
jmp 0x180086180
mov ebx, edi
mov dword [rsp + 0x20], ebx
test ebx, ebx
jns 0x1800863ef
mov qword [0x180156f08], rdi
mov qword [0x180156ec8], rdi
mov qword [0x180156f00], rdi
mov qword [0x180156f10], rdi
mov qword [0x180156f20], rdi
mov qword [0x180156f18], rdi
mov eax, ebx
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret