Function at 0x1400534e0
Capabilities:
Create thread
Enumerate gui resources

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov r12, r9
mov r15, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [rcx + 0x10a90]
xor ebp, ebp
cmp dword [rax + 0xe9e8], ebp
je 0x1400535e3
cmp qword [rax + 0xea28], rbp
je 0x140053590
cmp qword [rcx + 0x10a80], rbp
je 0x140053590
cmp byte [rax + 0xea78], bpl
je 0x140053590
lea r8, str.schook
lea edx, [rbp + 0x10]
lea rcx, [0x1401f42c8]
call fcn.14014b110
mov dword [rsp + 0x70], ebp
cmp qword [rbx], rbp
jne 0x140053576
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r9, rsi
lea r8, [0x140033d50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx], rax
mov r8, r15
mov rdx, qword [rsi + 0x10a80]
mov rcx, rsi
call fcn.140033dd0
test al, al
jne 0x1400538c4
mov rax, qword [rsi + 0x10a90]
cmp byte [rax + 0xea78], bpl
je 0x1400535e3
cmp dword [rax + 0xe9f4], ebp
jne 0x1400535e3
cmp dword [rax + 0xe9f8], ebp
je 0x1400535e3
lea r8, [0x1401c5de8]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x1401f42c8]
call fcn.14014b110
mov rax, qword [rsi + 0x10a90]
mov dword [rax + 0xe9f8], ebp
mov rax, qword [rsi + 0x10a90]
mov qword [rax + 0xe980], rbp
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov edx, 4
mov eax, 8
mov rcx, qword [0x1401fef68]
cmp dword [rcx + 0xe30], ebp
cmovne edx, eax
mov rcx, qword [rsi + 0x10a90]
mov dword [rcx + 0x808], edx
mov dword [rcx + 0x80c], ebp
movzx edx, byte [rsp + 0x90]
test dl, dl
je 0x140053639
mov rcx, qword [rsi + 0x10a90]
mov dword [rcx + 0xeb28], ebp
mov dword [rsi + 0x10b10], r14d
mov rax, qword [0x1401fef68]
cmp dword [rax + 0xe3c], ebp
jne 0x140053664
mov rax, qword [rsi + 0x10a90]
cmp byte [rax + 0xea78], bpl
jne 0x1400537ad
test dl, dl
jne 0x1400537ad
mov eax, r14d
sub eax, dword [rsi + 0x10b10]
cmp eax, 0x32
jle 0x1400537ad
inc dword [r12]
mov r8, qword [rsi + 0x10a90]
cmp qword [r8 + 0xe458], rbp
jne 0x1400536a7
mov qword [r8 + 0xe9a8], rbp
movzx ecx, word [r8 + 0xe462]
movzx eax, word [r8 + 0xe460]
mov dword [rsp + 0x3c], ecx
jmp 0x140053711
cmp byte [r8 + 0xeab8], bpl
je 0x1400536fb
mov edx, dword [r8 + 8]
mov r9d, dword [r8 + 0xc]
mov ecx, dword [r8 + 0xeab4]
sub ecx, 2
je 0x1400536e2
cmp ecx, 1
jne 0x1400536f0
mov edx, dword [r8 + 0x7c4]
mov r9d, dword [r8 + 0x7c8]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x140053715
mov edx, dword [r8 + 0x8e0]
mov r9d, dword [r8 + 0x8e4]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x140053715
movsxd rax, dword [r8 + 4]
lea rcx, [rax + rax*4]
mov edx, dword [r8 + rcx*4 + 0xc]
mov eax, dword [r8 + rcx*4 + 8]
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rbp
call fcn.1400209d0
cmp eax, 2
je 0x14005373c
lea r8, [rsp + 0x30]
mov rdx, r15
mov rcx, qword [rsi + 0x10a90]
call fcn.14004a4f0
test al, al
je 0x140053743
mov byte [rsi + 0x10b78], bpl
cmp dword [r12], 0x14
jle 0x1400537ad
mov rbx, qword [rsi + 0x10a90]
lea rcx, [0x14019626c]
call fcn.14014a9a0
mov rdi, rax
mov r9d, dword [rbx + 0x8e4]
mov r8d, dword [rbx + 0x8e0]
mov edx, dword [rbx + 0x8dc]
mov ecx, dword [rbx + 0x8d8]
call qword [sym.imp.GDI32.dll_CreateRectRgn]
mov rbx, rax
mov rcx, qword [r15]
mov r9d, 2
mov r8, rax
mov rdx, rcx
call qword [sym.imp.GDI32.dll_CombineRgn]
mov rcx, rbx
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, rdi
call fcn.140138b40
mov dword [r12], ebp
mov rax, qword [0x1401fef68]
cmp dword [rax + 0xe38], ebp
jne 0x1400537cc
mov rax, qword [rsi + 0x10a90]
cmp byte [rax + 0xea78], bpl
jne 0x1400537e8
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbp, rax
test rax, rax
je 0x1400537e8
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.1400524a0
mov rcx, qword [0x1401fef68]
cmp dword [rcx + 0xe34], 0
jne 0x140053808
mov rcx, qword [rsi + 0x10a90]
cmp byte [rcx + 0xea78], 0
jne 0x140053848
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x140053848
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov rbx, rax
test rax, rax
je 0x140053848
cmp rax, rbp
je 0x140053848
call qword [sym.imp.USER32.dll_GetDesktopWindow]
cmp rbx, rax
je 0x140053848
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call fcn.1400524a0
mov rax, qword [0x1401fc428]
test rax, rax
jne 0x140053871
lea ecx, [rax + 0x30]
call fcn.140131f18
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.14007c180
nop
mov qword [0x1401fc428], rax
mov rcx, rax
cmp byte [rax + 0x15], 0
je 0x1400538c4
mov eax, r14d
sub eax, dword [rsi + 0x10b14]
cmp eax, 0x1388
jle 0x1400538c4
mov dword [rsi + 0x10b14], r14d
test rcx, rcx
jne 0x1400538b5
mov ecx, gethostbyname
call fcn.140131f18
mov qword [rsp + 0x70], rax
mov rcx, rax
call fcn.14007c180
nop
mov qword [0x1401fc428], rax
xor edx, edx
lea rcx, [0x14007c530]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret