Function at 0x140053cc0
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 + 0x10a80]
xor ebp, ebp
cmp dword [rax + 0xe9e8], ebp
je 0x140053dc3
cmp qword [rax + 0xea28], rbp
je 0x140053d70
cmp qword [rcx + 0x10a70], rbp
je 0x140053d70
cmp byte [rax + 0xea78], bpl
je 0x140053d70
lea r8, str.schook
lea edx, [rbp + 0x10]
lea rcx, [0x1401f32e8]
call fcn.1401462c0
mov dword [rsp + 0x70], ebp
cmp qword [rbx], rbp
jne 0x140053d56
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r9, rsi
lea r8, [0x1400343c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx], rax
mov r8, r15
mov rdx, qword [rsi + 0x10a70]
mov rcx, rsi
call fcn.140034440
test al, al
jne 0x1400540a4
mov rax, qword [rsi + 0x10a80]
cmp byte [rax + 0xea78], bpl
je 0x140053dc3
cmp dword [rax + 0xe9f4], ebp
jne 0x140053dc3
cmp dword [rax + 0xe9f8], ebp
je 0x140053dc3
lea r8, [0x1401c5558]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x1401f32e8]
call fcn.1401462c0
mov rax, qword [rsi + 0x10a80]
mov dword [rax + 0xe9f8], ebp
mov rax, qword [rsi + 0x10a80]
mov qword [rax + 0xe980], rbp
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r14d, eax
mov edx, 4
mov eax, 8
mov rcx, qword [0x1401fdf80]
cmp dword [rcx + 0xe30], ebp
cmovne edx, eax
mov rcx, qword [rsi + 0x10a80]
mov dword [rcx + 0x808], edx
mov dword [rcx + 0x80c], ebp
movzx edx, byte [rsp + 0x90]
test dl, dl
je 0x140053e19
mov rcx, qword [rsi + 0x10a80]
mov dword [rcx + 0xeb28], ebp
mov dword [rsi + 0x10b00], r14d
mov rax, qword [0x1401fdf80]
cmp dword [rax + 0xe3c], ebp
jne 0x140053e44
mov rax, qword [rsi + 0x10a80]
cmp byte [rax + 0xea78], bpl
jne 0x140053f8d
test dl, dl
jne 0x140053f8d
mov eax, r14d
sub eax, dword [rsi + 0x10b00]
cmp eax, 0x32
jle 0x140053f8d
inc dword [r12]
mov r8, qword [rsi + 0x10a80]
cmp qword [r8 + 0xe458], rbp
jne 0x140053e87
mov qword [r8 + 0xe9a8], rbp
movzx ecx, word [r8 + 0xe462]
movzx eax, word [r8 + 0xe460]
mov dword [rsp + 0x3c], ecx
jmp 0x140053ef1
cmp byte [r8 + 0xeab8], bpl
je 0x140053edb
mov edx, dword [r8 + 8]
mov r9d, dword [r8 + 0xc]
mov ecx, dword [r8 + 0xeab4]
sub ecx, 2
je 0x140053ec2
cmp ecx, 1
jne 0x140053ed0
mov edx, dword [r8 + 0x7c4]
mov r9d, dword [r8 + 0x7c8]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x140053ef5
mov edx, dword [r8 + 0x8e0]
mov r9d, dword [r8 + 0x8e4]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x140053ef5
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.140020fe0
cmp eax, 2
je 0x140053f1c
lea r8, [rsp + 0x30]
mov rdx, r15
mov rcx, qword [rsi + 0x10a80]
call fcn.14004acd0
test al, al
je 0x140053f23
mov byte [rsi + 0x10b68], bpl
cmp dword [r12], 0x14
jle 0x140053f8d
mov rbx, qword [rsi + 0x10a80]
lea rcx, [0x14019528c]
call fcn.140145b50
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.140139270
mov dword [r12], ebp
mov rax, qword [0x1401fdf80]
cmp dword [rax + 0xe38], ebp
jne 0x140053fac
mov rax, qword [rsi + 0x10a80]
cmp byte [rax + 0xea78], bpl
jne 0x140053fc8
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbp, rax
test rax, rax
je 0x140053fc8
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.140052c80
mov rcx, qword [0x1401fdf80]
cmp dword [rcx + 0xe34], 0
jne 0x140053fe8
mov rcx, qword [rsi + 0x10a80]
cmp byte [rcx + 0xea78], 0
jne 0x140054028
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x140054028
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov rbx, rax
test rax, rax
je 0x140054028
cmp rax, rbp
je 0x140054028
call qword [sym.imp.USER32.dll_GetDesktopWindow]
cmp rbx, rax
je 0x140054028
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call fcn.140052c80
mov rax, qword [0x1401fb448]
test rax, rax
jne 0x140054051
lea ecx, [rax + 0x30]
call fcn.140132648
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.14007c970
nop
mov qword [0x1401fb448], rax
mov rcx, rax
cmp byte [rax + 0x15], 0
je 0x1400540a4
mov eax, r14d
sub eax, dword [rsi + 0x10b04]
cmp eax, 0x1388
jle 0x1400540a4
mov dword [rsi + 0x10b04], r14d
test rcx, rcx
jne 0x140054095
mov ecx, gethostbyname
call fcn.140132648
mov qword [rsp + 0x70], rax
mov rcx, rax
call fcn.14007c970
nop
mov qword [0x1401fb448], rax
xor edx, edx
lea rcx, [0x14007cd30]
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