Function at 0x140053640
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 0x140053743
cmp qword [rax + 0xea28], rbp
je 0x1400536f0
cmp qword [rcx + 0x10a80], rbp
je 0x1400536f0
cmp byte [rax + 0xea78], bpl
je 0x1400536f0
lea r8, str.schook
lea edx, [rbp + 0x10]
lea rcx, [0x1401f32c8]
call fcn.14014a500
mov dword [rsp + 0x70], ebp
cmp qword [rbx], rbp
jne 0x1400536d6
lea rax, [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebp
mov r9, rsi
lea r8, [0x140033db0]
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.140033e30
test al, al
jne 0x140053a24
mov rax, qword [rsi + 0x10a90]
cmp byte [rax + 0xea78], bpl
je 0x140053743
cmp dword [rax + 0xe9f4], ebp
jne 0x140053743
cmp dword [rax + 0xe9f8], ebp
je 0x140053743
lea r8, [0x1401c5508]
mov edx, reloc.WS2_32.dll_recv
lea rcx, [0x1401f32c8]
call fcn.14014a500
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 [0x1401fdf60]
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 0x140053799
mov rcx, qword [rsi + 0x10a90]
mov dword [rcx + 0xeb28], ebp
mov dword [rsi + 0x10b10], r14d
mov rax, qword [0x1401fdf60]
cmp dword [rax + 0xe3c], ebp
jne 0x1400537c4
mov rax, qword [rsi + 0x10a90]
cmp byte [rax + 0xea78], bpl
jne 0x14005390d
test dl, dl
jne 0x14005390d
mov eax, r14d
sub eax, dword [rsi + 0x10b10]
cmp eax, 0x32
jle 0x14005390d
inc dword [r12]
mov r8, qword [rsi + 0x10a90]
cmp qword [r8 + 0xe458], rbp
jne 0x140053807
mov qword [r8 + 0xe9a8], rbp
movzx ecx, word [r8 + 0xe462]
movzx eax, word [r8 + 0xe460]
mov dword [rsp + 0x3c], ecx
jmp 0x140053871
cmp byte [r8 + 0xeab8], bpl
je 0x14005385b
mov edx, dword [r8 + 8]
mov r9d, dword [r8 + 0xc]
mov ecx, dword [r8 + 0xeab4]
sub ecx, 2
je 0x140053842
cmp ecx, 1
jne 0x140053850
mov edx, dword [r8 + 0x7c4]
mov r9d, dword [r8 + 0x7c8]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x140053875
mov edx, dword [r8 + 0x8e0]
mov r9d, dword [r8 + 0x8e4]
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x3c], r9d
jmp 0x140053875
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 0x14005389c
lea r8, [rsp + 0x30]
mov rdx, r15
mov rcx, qword [rsi + 0x10a90]
call fcn.14004a650
test al, al
je 0x1400538a3
mov byte [rsi + 0x10b78], bpl
cmp dword [r12], 0x14
jle 0x14005390d
mov rbx, qword [rsi + 0x10a90]
lea rcx, [0x14019526c]
call fcn.140149d90
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.140137f30
mov dword [r12], ebp
mov rax, qword [0x1401fdf60]
cmp dword [rax + 0xe38], ebp
jne 0x14005392c
mov rax, qword [rsi + 0x10a90]
cmp byte [rax + 0xea78], bpl
jne 0x140053948
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbp, rax
test rax, rax
je 0x140053948
mov r8, rax
mov rdx, r15
mov rcx, rsi
call fcn.140052600
mov rcx, qword [0x1401fdf60]
cmp dword [rcx + 0xe34], 0
jne 0x140053968
mov rcx, qword [rsi + 0x10a90]
cmp byte [rcx + 0xea78], 0
jne 0x1400539a8
lea rcx, [rsp + 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x1400539a8
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.USER32.dll_WindowFromPoint]
mov rbx, rax
test rax, rax
je 0x1400539a8
cmp rax, rbp
je 0x1400539a8
call qword [sym.imp.USER32.dll_GetDesktopWindow]
cmp rbx, rax
je 0x1400539a8
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call fcn.140052600
mov rax, qword [0x1401fb428]
test rax, rax
jne 0x1400539d1
lea ecx, [rax + 0x30]
call fcn.140131308
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.14007c2e0
nop
mov qword [0x1401fb428], rax
mov rcx, rax
cmp byte [rax + 0x15], 0
je 0x140053a24
mov eax, r14d
sub eax, dword [rsi + 0x10b14]
cmp eax, 0x1388
jle 0x140053a24
mov dword [rsi + 0x10b14], r14d
test rcx, rcx
jne 0x140053a15
mov ecx, gethostbyname
call fcn.140131308
mov qword [rsp + 0x70], rax
mov rcx, rax
call fcn.14007c2e0
nop
mov qword [0x1401fb428], rax
xor edx, edx
lea rcx, [0x14007c690]
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