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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1a0
mov rax, qword [0x140164008]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov ebx, r9d
mov rsi, r8
mov rdi, rdx
mov qword [rsp + 0x88], rdx
mov r14d, dword [rsp + 0x200]
mov qword [rsp + 0x80], r8
lea rcx, [rsp + 0xb0]
call fcn.14003d6b8
mov r13d, ebx
imul r13d, dword [rsi + 4]
add r13d, r14d
mov qword [rsp + 0x70], r13
mov rax, qword [rsi + 0x80]
cmp qword [rax + r13*8], 0
je 0x1400d34f2
mov rax, qword [rsi + 0x88]
movzx ecx, word [rax + r13*2]
bt cx, 8
jae 0x1400d2ee4
test cl, cl
js 0x1400d2edc
mov eax, dword [rsi + 0x38]
sub eax, dword [rsi + 0x30]
test eax, eax
jle 0x1400d2edc
mov eax, dword [rsi + 0x3c]
sub eax, dword [rsi + 0x34]
test eax, eax
jle 0x1400d2edc
mov r15d, ebx
mov rax, qword [rsi + 0x78]
mov rcx, qword [rsi + 0x70]
xor r9d, r9d
mov r8d, dword [rax + r14*4]
mov edx, dword [rcx + rbx*4]
mov rcx, rdi
call fcn.1400408ac
test eax, eax
je 0x1400d2edc
mov rax, qword [rdi]
mov r8, qword [rax + 0x780]
mov rax, qword [rsi + 0x80]
mov rcx, qword [rax + r13*8]
movzx edx, word [rcx + 0x1c]
mov rcx, rdi
call r8
mov rbx, rax
test rax, rax
je 0x1400d2edc
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
test eax, eax
jne 0x1400d2edc
mov rcx, qword [rsi + 0x78]
mov rdx, qword [rsi + 0x70]
mov r8d, dword [rcx + r14*4]
mov edx, dword [rdx + r15*4]
mov rcx, rbx
call fcn.14008af4c
test eax, eax
je 0x1400d2e94
mov qword [rsi + 0x90], rbx
lea rbx, [rsi + 0x20]
movups xmm0, xmmword [rsi + 0x30]
movdqu xmmword [rbx], xmm0
mov rax, qword [rdi]
mov r9, qword [rsi + 0x80]
mov r15d, 1
mov dword [rsp + 0x20], r15d
mov r9, qword [r9 + r13*8]
mov r8, rbx
lea rdx, [rsp + 0x100]
mov rcx, rdi
call qword [rax + 0x978]
movups xmm0, xmmword [rax]
movdqu xmmword [rbx], xmm0
mov eax, r15d
jmp 0x1400d34f4
mov r15d, 1
jmp 0x1400d2ed4
test cl, 0x40
je 0x1400d34f2
mov rax, qword [rdi]
mov r10, qword [rax + 0x540]
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], rbx
mov rax, qword [rsi + 0x78]
mov rcx, qword [rsi + 0x70]
lea r9, [rsp + 0xb0]
mov r8d, dword [rax + r14*4]
mov edx, dword [rcx + rbx*4]
mov rcx, rdi
call r10
mov r14, rax
lea rbx, [rsp + 0x130]
mov r12d, 4
lea r15d, [r12 - 3]
mov rcx, rbx
call fcn.14003d6b8
add rbx, 0x18
sub r12, r15
jne 0x1400d2f34
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x1a0]
mov edx, eax
mov rcx, rdi
call fcn.140047258
mov ebx, eax
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x1a8]
mov edx, eax
mov rcx, rdi
call fcn.140047160
mov r9d, eax
mov ecx, dword [r14 + 4]
mov dword [rsp + 0x134], ecx
mov ecx, dword [r14 + 8]
mov dword [rsp + 0x138], ecx
mov ecx, dword [r14 + 0xc]
cmp ebx, ecx
cmovb ecx, ebx
mov dword [rsp + 0x13c], ecx
mov eax, dword [r14 + 0x10]
cmp r9d, eax
cmovb eax, r9d
mov dword [rsp + reloc.mfc140u.dll_AFX_DDPDATA::AFX_DDPDATA], eax
mov r8d, dword [rdi + 0x808]
lea rdx, [rdi + 0x820]
lea r10, [rdi + 0x764]
test r8d, r8d
je 0x1400d2fcc
mov ecx, dword [rdx]
jmp 0x1400d2fcf
mov ecx, dword [r10]
mov eax, dword [r14 + 4]
cmp ecx, eax
jbe 0x1400d2fe3
mov rax, rdx
test r8d, r8d
cmove rax, r10
mov eax, dword [rax]
mov dword [rsp + 0x14c], eax
mov eax, dword [r14 + 8]
mov dword [rsp + 0x150], eax
mov eax, dword [r14 + 0xc]
mov dword [rsp + 0x154], eax
mov eax, dword [r14 + 0x10]
cmp r9d, eax
cmovb eax, r9d
mov dword [rsp + 0x158], eax
mov eax, dword [r14 + 4]
mov dword [rsp + 0x164], eax
lea rcx, [rdi + 0x824]
lea r9, [rdi + 0x768]
test r8d, r8d
je 0x1400d3034
mov eax, dword [rcx]
jmp 0x1400d3037
mov eax, dword [r9]
mov r11d, dword [r14 + 8]
cmp eax, r11d
jbe 0x1400d304d
mov rax, rcx
test r8d, r8d
cmove rax, r9
mov r11d, dword [rax]
mov dword [rsp + 0x168], r11d
mov eax, dword [r14 + 0xc]
cmp ebx, eax
cmovb eax, ebx
mov dword [rsp + 0x16c], eax
mov eax, dword [r14 + 0x10]
mov dword [rsp + 0x170], eax
mov rax, rdx
test r8d, r8d
cmove rax, r10
mov r11d, dword [r14 + 4]
cmp dword [rax], r11d
jbe 0x1400d308d
test r8d, r8d
cmove rdx, r10
mov r11d, dword [rdx]
mov dword [rsp + 0x17c], r11d
mov rax, rcx
test r8d, r8d
cmove rax, r9
mov edx, dword [r14 + 8]
cmp dword [rax], edx
jbe 0x1400d30b0
test r8d, r8d
cmove rcx, r9
mov edx, dword [rcx]
mov dword [rsp + 0x180], edx
mov eax, dword [r14 + 0xc]
mov dword [rsp + 0x184], eax
mov eax, dword [r14 + 0x10]
mov dword [rsp + 0x188], eax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0xe0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0xd0], xmm1
xor eax, eax
mov qword [rsp + 0x68], rax
mov rax, qword [rdi]
mov r8d, dword [r14 + 8]
mov edx, dword [r14 + 4]
mov rcx, rdi
call qword [rax + 0x60]
mov rbx, rax
mov qword [rsp + 0x50], rax
mov rcx, qword [rsi + 0x78]
mov rdx, qword [rsi + 0x70]
xor r9d, r9d
mov rax, qword [rsp + 0x60]
mov r8d, dword [rcx + rax*4]
mov rax, qword [rsp + 0x58]
mov edx, dword [rdx + rax*4]
mov rcx, rdi
call fcn.1400408ac
test eax, eax
jne 0x1400d3152
mov rcx, qword [rsi + 0x88]
test byte [rcx + r13*2], 0x80
je 0x1400d3167
xor r9d, r9d
mov r8d, dword [r14 + 8]
mov edx, dword [r14 + 4]
mov rcx, rdi
call fcn.1400408ac
test eax, eax
je 0x1400d3167
mov rax, qword [rdi]
movzx edx, word [rbx + 0x1c]
mov rcx, rdi
call qword [rax + 0x780]
mov qword [rsp + 0x68], rax
xor r13d, r13d
xor ecx, ecx
mov dword [rsp + 0x4c], ecx
cmp ecx, 3
jg 0x1400d2ed4
movsxd rcx, ecx
lea r12, [rcx + rcx*2]
mov edx, dword [rsp + r12*8 + reloc.mfc140u.dll_AFX_DDPDATA::AFX_DDPDATA]
mov r9d, dword [rsp + r12*8 + 0x138]
cmp edx, r9d
jb 0x1400d34e6
mov ecx, dword [rsp + r12*8 + 0x13c]
mov r8d, dword [rsp + r12*8 + 0x134]
cmp ecx, r8d
jb 0x1400d34e6
mov rax, qword [rsi + 0x70]
mov r10, qword [rsp + 0x58]
cmp ecx, dword [rax + r10*4]
jb 0x1400d34e6
mov rax, qword [rsi + 0x78]
mov r10, qword [rsp + 0x60]
cmp edx, dword [rax + r10*4]
jb 0x1400d34e6
mov eax, dword [rdi + 0x1f8]
mov dword [rsp + 0x44], eax
mov eax, dword [rdi + 0x1f4]
mov dword [rsp + 0x48], eax
xor ebx, ebx
mov qword [rdi + 0x1f4], rbx
mov rax, qword [rdi]
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ecx
lea rdx, [rsp + 0x110]
mov rcx, rdi
call qword [rax + 0x380]
movups xmm0, xmmword [rax]
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmmword [rsp + 0xd0], xmm0
mov dword [rsp + 0x40], ebx
lea rcx, [rsp + 0x100]
call sub.mfc140u.dll_AFX_DDPDATA::AFX_DDPDATA
nop
mov rbx, qword [rsi + 0xb8]
call sub.mfc140u.dll_CMFCFilterChunkValueImpl::GetChunkType
mov rdx, rax
mov rcx, rbx
call sub.mfc140u.dll_COlePropertyPage::IgnoreApply
xor ebx, ebx
mov edx, dword [r14 + 4]
mov r8d, dword [rsp + r12*8 + 0x134]
cmp edx, r8d
jae 0x1400d327f
mov ebx, r15d
dec r8d
xor r9d, r9d
mov rcx, rdi
call fcn.140055188
sub dword [rsp + 0xd4], eax
mov r8d, dword [r14 + 0xc]
mov edx, dword [rsp + r12*8 + 0x13c]
cmp r8d, edx
jbe 0x1400d32a7
mov ebx, r15d
inc edx
xor r9d, r9d
mov rcx, rdi
call fcn.140055188
add dword [rsp + 0xdc], eax
mov edx, dword [r14 + 8]
mov r8d, dword [rsp + r12*8 + 0x138]
cmp edx, r8d
jae 0x1400d32d0
mov ebx, r15d
dec r8d
xor r9d, r9d
mov rcx, rdi
call fcn.14005511c
sub dword [rsp + 0xd0], eax
mov r8d, dword [r14 + 0x10]
mov edx, dword [rsp + r12*8 + reloc.mfc140u.dll_AFX_DDPDATA::AFX_DDPDATA]
cmp r8d, edx
jbe 0x1400d32f8
mov ebx, r15d
inc edx
xor r9d, r9d
mov rcx, rdi
call fcn.14005511c
add dword [rsp + 0xd8], eax
xor r12d, r12d
cmp dword [rdi + 0x4c8], r12d
cmovne ebx, r15d
mov dword [rdi + CMFCToolTipCtrl::~CMFCToolTipCtrl], r15d
test ebx, ebx
jne 0x1400d331a
cmp dword [rdi + 0x528], r12d
je 0x1400d338c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0xf0], xmm0
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov dword [rsp + 0x40], eax
test eax, eax
je 0x1400d338c
cmp dword [rdi + 0x528], r12d
jne 0x1400d334d
cmp dword [rdi + 0x4c8], r12d
je 0x1400d335b
xor edx, edx
mov rcx, qword [rsi + 0xb8]
call sub.mfc140u.dll_CMFCPropertyGridProperty::RemoveSubItem
lea r8, [rsi + 0xc0]
lea rdx, [rsp + 0xe0]
lea rcx, [rsp + 0xf0]
call qword [sym.imp.USER32.dll_IntersectRect]
lea rdx, [rsp + 0xf0]
mov rcx, qword [rsi + 0xb8]
call sub.mfc140u.dll_CPaneContainerManager::GetWindowRect
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rbx
lea rcx, [rsp + 0xd0]
mov qword [rsp + 0x20], rcx
mov rax, qword [rdi]
mov r9d, dword [r14 + 8]
mov r8d, dword [r14 + 4]
mov rdx, qword [rsi + 0xb8]
mov rcx, rdi
call qword [rax + 0x9c8]
mov dword [rdi + CMFCToolTipCtrl::~CMFCToolTipCtrl], r12d
test dword [rbx + 8], 0x100
je 0x1400d33f9
movaps xmm0, xmmword [rsp + 0xd0]
movdqa xmmword [rsp + 0xa0], xmm0
mov r9, rbx
lea r8, [rsp + 0xa0]
mov rdx, qword [rsi + 0xb8]
mov rcx, rdi
call fcn.14004c49c
mov r12, qword [rsp + 0x68]
test r12, r12
je 0x1400d34b8
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x28]
test eax, eax
jne 0x1400d34b8
test r13d, r13d
jne 0x1400d34b8
mov rax, qword [rsi + 0x88]
mov rcx, qword [rsp + 0x70]
test byte [rax + rcx*2], 0x80
jne 0x1400d3441
movups xmm0, xmmword [rsi + 0x30]
movdqu xmmword [rsp + 0xd0], xmm0
mov rax, qword [rdi]
mov dword [rsp + 0x20], r15d
mov r9, rbx
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x120]
mov rcx, rdi
call qword [rax + 0x978]
movups xmm0, xmmword [rax]
movdqu xmmword [rsp + 0xd0], xmm0
lea rcx, [rsp + 0xd0]
call qword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x1400d349f
mov rax, qword [r12]
lea r8, [rsp + 0xd0]
mov rdx, qword [rsi + 0xb8]
mov rcx, r12
call qword [rax + 0xc8]
mov rax, qword [rsi + 0x88]
mov rcx, qword [rsp + 0x70]
test byte [rax + rcx*2], 0x80
cmove r13d, r15d
mov dword [rsp + 0x78], r13d
mov edx, dword [rsp + 0x40]
test edx, edx
je 0x1400d34cd
mov rcx, qword [rsi + 0xb8]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov eax, dword [rsp + 0x44]
mov dword [rdi + 0x1f8], eax
mov eax, dword [rsp + 0x48]
mov dword [rdi + 0x1f4], eax
call sub.mfc140u.dll_AfxResetMsgCache
mov ecx, dword [rsp + 0x4c]
add ecx, r15d
jmp 0x1400d316c
xor eax, eax
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.14002fdd0
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret