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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x50
mov r12, rdx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x40], r15
mov edx, 0xfffffff0
mov r15, rcx
mov r13, r9
mov rcx, r12
call qword [sym.imp.USER32.dll_GetWindowLongA]
mov edx, 0xffffffec
mov rcx, r12
mov esi, eax
mov dword [rsp + 0x80], eax
call qword [sym.imp.USER32.dll_GetWindowLongA]
xor r9d, r9d
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov dword [rsp + 0x98], eax
xor edx, edx
lea rcx, [rsp + 0x30]
mov ebp, eax
call qword [sym.imp.USER32.dll_SetRect]
mov rdx, qword [r15 + 0x20]
mov r9d, dword [rsp + 0x3c]
mov rcx, qword [rdx]
cmp rcx, rdx
je 0x1401ec25e
mov esi, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x34]
mov qword [rsp + 0x48], r14
mov r14d, dword [rsp + 0x30]
mov rax, qword [rcx + 0x10]
mov r8d, dword [rax + 0x14]
cmp r14d, r8d
jl 0x1401ec1bb
mov dword [rsp + 0x30], r8d
mov r14d, r8d
mov rax, qword [rcx + 0x10]
mov r8d, dword [rax + 0x18]
cmp ebp, r8d
jl 0x1401ec1d0
mov dword [rsp + 0x34], r8d
mov ebp, r8d
mov rax, qword [rcx + 0x10]
mov r8d, dword [rax + 0x1c]
cmp esi, r8d
jg 0x1401ec1e5
mov dword [rsp + 0x38], r8d
mov esi, r8d
mov rax, qword [rcx + 0x10]
mov r11d, dword [rax + 0x28]
test r11d, r11d
je 0x1401ec1f4
mov r10d, dword [rax + 0x30]
jmp 0x1401ec1f7
xor r10d, r10d
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x1401ec206
mov r8d, dword [rax + 0x54]
jmp 0x1401ec209
xor r8d, r8d
mov edi, dword [rax + 0x20]
add r8d, edi
add r8d, r10d
cmp r9d, r8d
jg 0x1401ec23f
test r11d, r11d
je 0x1401ec222
mov r10d, dword [rax + 0x30]
jmp 0x1401ec225
xor r10d, r10d
test rbx, rbx
je 0x1401ec230
mov r8d, dword [rax + 0x54]
jmp 0x1401ec233
xor r8d, r8d
lea r9d, [rdi + r8]
add r9d, r10d
mov dword [rsp + 0x3c], r9d
mov rcx, qword [rcx]
cmp rcx, rdx
jne 0x1401ec1a2
mov esi, dword [rsp + 0x80]
mov ebp, dword [rsp + 0x98]
mov r14, qword [rsp + 0x48]
cmp dword [r15 + 0x64], 0
je 0x1401ec275
cmp qword [r15 + 0x68], 0
je 0x1401ec275
add r9d, dword [r15 + 0x60]
mov dword [rsp + 0x3c], r9d
mov ebx, esi
mov edi, 1
and ebx, 0x40000000
jne 0x1401ec297
mov rcx, r12
call qword [sym.imp.USER32.dll_GetMenu]
test rax, rax
je 0x1401ec297
mov r8d, edi
jmp 0x1401ec29a
xor r8d, r8d
mov r9d, ebp
lea rcx, [rsp + 0x30]
mov edx, esi
call qword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x30]
sub eax, dword [rsp + 0x30]
xor r8d, r8d
mov dword [r13 + 0x18], eax
xor edx, edx
mov eax, dword [rsp + 0x3c]
sub eax, dword [rsp + 0x34]
mov dword [r13 + 0x1c], eax
mov eax, dword [r15 + 0xa0]
mov r9d, dword [r15 + 0x9c]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_SetRect]
mov r15, qword [rsp + 0x40]
test ebx, ebx
mov rbx, qword [rsp + 0x88]
jne 0x1401ec303
mov rcx, r12
call qword [sym.imp.USER32.dll_GetMenu]
test rax, rax
jne 0x1401ec305
xor edi, edi
mov r9d, ebp
lea rcx, [rsp + 0x30]
mov r8d, edi
mov edx, esi
call qword [sym.imp.USER32.dll_AdjustWindowRectEx]
mov eax, dword [r13 + 0x20]
mov edx, dword [rsp + 0x38]
sub edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
cmp eax, edx
cmovge eax, edx
sub ecx, dword [rsp + 0x34]
mov dword [r13 + 0x20], eax
mov eax, dword [r13 + 0x24]
cmp eax, ecx
cmovge eax, ecx
mov dword [r13 + 0x24], eax
mov eax, dword [r13 + 8]
cmp eax, edx
cmovge eax, edx
mov dword [r13 + 8], eax
mov eax, dword [r13 + 0xc]
cmp eax, ecx
cmovge eax, ecx
mov dword [r13 + 0xc], eax
add rsp, 0x50
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret