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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [rdx + 0x30]
xor r12d, r12d
mov r15, rdx
mov r14, rcx
test rax, rax
jne 0x1800521be
mov eax, r12d
jmp 0x1800521c5
sub rax, qword [rdx + 8]
add rax, r15
mov qword [rcx + 8], rax
mov al, byte [rdx + 0x1c]
mov ecx, dword [rcx + 0x50]
and al, 3
cmp al, 3
jne 0x1800521e5
and ecx, 0xfffffffe
or ecx, 2
mov dword [r14 + 0x50], ecx
bts ecx, 0xe
jmp 0x1800521f6
test byte [rdx + 0x1c], 2
je 0x1800521f0
or ecx, 3
jmp 0x1800521f6
and ecx, 0xfffffffd
or ecx, 1
mov dword [r14 + 0x50], ecx
mov esi, 0x1000
movzx eax, byte [rdx + 0x19]
btr ecx, 0x10
and eax, 0x20
shl eax, 0xb
or eax, ecx
mov dword [r14 + 0x50], eax
btr eax, 0xf
movzx ecx, byte [rdx + 0x19]
and ecx, 0x10
shl ecx, 0xb
or ecx, eax
mov dword [r14 + 0x50], ecx
mov al, byte [rdx + 0x1d]
test al, 0x20
je 0x180052238
btr ecx, 0xc
bts ecx, 0xb
jmp 0x18005224a
test al, 0x40
je 0x180052244
btr ecx, 0xb
or ecx, esi
jmp 0x18005224a
and ecx, 0xffffe7ff
mov dword [r14 + 0x50], ecx
mov edi, 0x100
mov al, byte [rdx + 0x1c]
test al, 0x20
je 0x180052267
btr ecx, 7
or ecx, edi
mov dword [r14 + 0x50], ecx
mov al, byte [rdx + 0x1c]
mov ebx, 0x80
test al, 0x10
je 0x18005227a
btr ecx, 8
or ecx, ebx
mov dword [r14 + 0x50], ecx
mov eax, dword [rdx + 0x60]
mov rcx, r14
sub eax, dword [rdx + 0x58]
lea rdx, [rsp + 0x80]
or dword [r14 + 0x3c], 0xffffffff
mov dword [r14 + 0x30], eax
mov dword [r14 + 0x38], r12d
call fcn.180051f80
test byte [r15 + 0x15], 2
jne 0x1800522b8
or r8d, 0xffffffff
lea rcx, [rsp + 0x80]
or edx, r8d
call sym.USER32.dll_InflateRect
mov r8b, byte [r15 + 0x1d]
movzx edx, byte [r15 + 0x1f]
mov al, r8b
mov ebp, dword [r14 + 0x50]
and edx, 8
shl edx, 0x18
or edx, 0x54008001
or edx, dword [r14 + 0x60]
mov ecx, edx
or ecx, edi
and al, 4
mov al, r8b
cmove ecx, edx
mov edx, ecx
or edx, 2
and al, 1
mov al, r8b
cmove edx, ecx
mov ecx, edx
or ecx, 0x40
and al, 2
cmove ecx, edx
mov eax, ecx
or eax, esi
and r8b, 8
cmove eax, ecx
mov ecx, ebp
and ecx, 0x180
cmp ecx, edi
jne 0x180052317
or eax, 0x20
jmp 0x18005231e
cmp ecx, ebx
jne 0x18005231e
or eax, 0x10
mov r11d, dword [rsp + 0x80]
mov r9d, eax
mov r8, qword [r14]
bts r9d, 0x17
mov r13d, dword [r15 + 0x18]
mov r10d, dword [rsp + 0x88]
and r13d, 0x7000
mov edi, dword [rsp + 0x84]
sub r10d, r11d
mov rsi, qword [r15]
mov ebx, dword [rsp + 0x8c]
mov word [rsp + 0x78], r12w
sub ebx, edi
mov dword [rsp + 0x70], r12d
and ebp, 2
mov dword [rsp + 0x68], r12d
cmove r9d, eax
mov dword [rsp + 0x60], r12d
mov rax, qword [0x1800aa168]
neg ebp
mov qword [rsp + 0x58], r12
sbb ecx, ecx
and ecx, 0xfffffe80
movzx edx, word [rax + 0x372]
add ecx, 0x200
mov rax, qword [r8 + 0x20]
or ecx, r13d
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov qword [rsp + 0x48], 0x3e8
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r11d
call fcn.180011020
mov rcx, rax
mov r12, rax
call fcn.18000b1b8
xor r9d, r9d
mov qword [r14 + 0x48], rax
test rax, rax
je 0x18005253b
mov r8d, dword [r14 + 0x50]
bt r8d, 0xe
jae 0x1800523fb
mov rax, qword [r14]
jmp 0x1800524e2
movzx edx, byte [r15 + 0x1f]
mov al, byte [r15 + 0x1c]
and edx, 8
shl edx, 0x18
or edx, 0x50000300
mov ecx, edx
bts ecx, 7
and al, 0x40
cmove ecx, edx
mov edx, ecx
bts edx, 0xa
cmp byte [r15 + 0x1c], r9b
cmovge edx, ecx
shr r8d, 0xb
test r8b, 3
je 0x180052443
not r8d
and r8d, 1
lea eax, [r8*8 + 8]
or edx, eax
mov rbx, qword [r14]
xor ecx, ecx
mov esi, dword [r14 + 0x14]
mov r9d, edx
mov ebp, dword [r14 + 0x10]
or r9d, 2
mov r11d, dword [r14 + 0x1c]
mov eax, r13d
movzx r8d, byte [rbx + 0x13]
sub r11d, esi
mov r10d, dword [r14 + 0x18]
mov rdi, qword [r15]
sub r10d, ebp
mov word [rsp + 0x78], cx
mov dword [rsp + 0x70], ecx
shr r8d, 5
and r8d, 1
mov dword [rsp + 0x68], r8d
and eax, 0x1000
mov rax, qword [0x1800aa168]
mov dword [rsp + 0x60], ecx
cmove r9d, edx
mov qword [rsp + 0x58], rcx
xor r8d, r8d
mov ecx, r13d
movzx edx, word [rax + 0x366]
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], 0x3e9
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebp
call fcn.180011020
mov rcx, rax
call fcn.18000b1b8
mov qword [r14 + 0x40], rax
test rax, rax
je 0x18005253b
test byte [r14 + 0x50], 2
je 0x180052536
xor edx, edx
mov rcx, r12
call qword [sym.imp.win32u.dll_NtUserShowWindow]
xor edx, edx
mov rcx, r12
call qword [sym.imp.win32u.dll_NtUserSetParent]
test byte [r15 + 0x15], 2
jne 0x180052526
mov eax, 1
lea rcx, [rsp + 0x80]
mov r8d, eax
mov edx, eax
call sym.USER32.dll_InflateRect
lea rdx, [rsp + 0x80]
mov rcx, r14
call fcn.180052650
mov rax, r15
jmp 0x18005253f
or rax, 0xffffffffffffffff
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret