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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
movdqu xmm0, xmmword [rdx]
mov r12, rdx
lea rdx, [rsp + 0x70]
mov rsi, rcx
movdqu xmmword [rsp + 0x70], xmm0
call sym.VKD.dll_public_virtual:_void___cdecl_DuiLib::CControlUI::SetPos_struct_tagRECT__bool____ptr64
mov eax, dword [rsi + 0x6e8]
movdqu xmm5, xmmword [rsi + 0x1a4]
xor edi, edi
movdqu xmmword [r12], xmm5
add dword [r12], eax
mov eax, dword [rsi + 0x6ec]
add dword [r12 + 4], eax
mov eax, dword [rsi + 0x6f0]
sub dword [r12 + 8], eax
mov eax, dword [rsi + 0x6f4]
sub dword [r12 + 0xc], eax
cmp qword [rsi + 0x708], rdi
je 0x1800723a9
mov rcx, qword [rsi + 0x708]
mov rax, qword [rcx]
call qword [rax + 0x1b8]
cmp al, dil
je 0x1800723a9
mov rcx, qword [rsi + 0x708]
mov rax, qword [rcx]
call qword [rax + 0xf8]
sub dword [r12 + 8], eax
cmp qword [rsi + 0x710], rdi
je 0x1800723dc
mov rcx, qword [rsi + 0x710]
mov rax, qword [rcx]
call qword [rax + 0x1b8]
cmp al, dil
je 0x1800723dc
mov rcx, qword [rsi + 0x710]
mov rax, qword [rcx]
call qword [rax + 0x108]
sub dword [r12 + 0xc], eax
lea rbx, [rsi + 0x6d8]
mov rcx, rbx
mov qword [rsp + 0x58], rbx
call sym.VKD.dll_public_virtual:_int___cdecl_DuiLib::CListContainerElementUI::GetIndex_void_const___ptr64
cmp eax, edi
jne 0x180072410
movdqu xmm0, xmmword [r12]
xor r9d, r9d
lea rdx, [rsp + 0x70]
xor r8d, r8d
movdqu xmmword [rsp + 0x70], xmm0
jmp 0x180072ca2
mov r13d, dword [r12 + 8]
mov r15d, dword [r12 + 0xc]
sub r13d, dword [r12]
sub r15d, dword [r12 + 4]
cmp qword [rsi + 0x710], rdi
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], r15d
je 0x18007245f
mov rcx, qword [rsi + 0x710]
mov rax, qword [rcx]
call qword [rax + 0x1b8]
cmp al, dil
je 0x18007245f
mov rcx, qword [rsi + 0x710]
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollRange_void_const___ptr64
add r13d, eax
mov dword [rsp + 0x48], r13d
cmp qword [rsi + 0x708], rdi
je 0x180072491
mov rcx, qword [rsi + 0x708]
mov rax, qword [rcx]
call qword [rax + 0x1b8]
cmp al, dil
je 0x180072491
mov rcx, qword [rsi + 0x708]
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollRange_void_const___ptr64
add r15d, eax
mov dword [rsp + 0x4c], r15d
mov rcx, rbx
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x128], edi
mov ebp, edi
mov r14d, edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], edi
call sym.VKD.dll_public_virtual:_int___cdecl_DuiLib::CListContainerElementUI::GetIndex_void_const___ptr64
mov rbx, qword [rsp + 0x48]
xor ecx, ecx
cmp eax, ecx
jle 0x180072724
mov r12d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
mov esi, ecx
xor r15d, r15d
mov edx, edi
mov rcx, r13
call sym.VKD.dll_public:_void____ptr64___cdecl_DuiLib::CDuiPtrArray::operator___int_const___ptr64
mov rcx, rax
mov rbp, rax
mov rdx, qword [rax]
call qword [rdx + 0x1b8]
cmp al, r15b
je 0x1800726eb
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x210]
cmp al, r15b
jne 0x1800726eb
mov rax, qword [rbp]
lea rdx, [rsp + 0x30]
mov rcx, rbp
mov qword [rsp + 0x40], rbx
call qword [rax + 0xc8]
mov rax, qword [rbp]
mov edi, r12d
mov rcx, rbp
sub edi, dword [rsp + 0x3c]
sub edi, dword [rsp + 0x34]
call qword [rax + 0xf8]
mov rdx, qword [rbp]
mov rcx, rbp
mov r15d, eax
call qword [rdx + 0x108]
mov r14d, eax
xor eax, eax
cmp r15d, eax
jg 0x180072562
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x128]
mov r15d, eax
xor eax, eax
cmp r14d, eax
jg 0x180072577
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x148]
mov r14d, eax
mov eax, dword [rsp + 0x40]
mov rcx, rbp
cmp eax, r15d
cmovg eax, r15d
cmp edi, r14d
cmovg edi, r14d
mov dword [rsp + 0x40], eax
xor eax, eax
mov dword [rsp + 0x54], eax
mov rax, qword [rbp]
mov dword [rsp + 0x44], edi
xor edi, edi
mov r14d, edi
call qword [rax + 0xf8]
mov rcx, rbp
cmp eax, edi
mov rax, qword [rbp]
jne 0x1800725c7
add dword [rsp + 0x128], 1
call qword [rax + 0x108]
mov r15d, eax
jmp 0x180072639
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x58]
call qword [rax + 0x268]
mov rcx, qword [rax]
cmp ecx, edi
mov qword [rsp + 0x50], rcx
mov r14d, ecx
jne 0x1800725f0
add dword [rsp + 0x128], 1
jmp 0x180072634
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x118]
cmp r14d, eax
jge 0x180072612
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x118]
mov r14d, eax
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x128]
cmp r14d, eax
jle 0x180072634
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x128]
mov r14d, eax
mov r15d, dword [rsp + 0x54]
mov rax, qword [rbp]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
call qword [rax + 0xc8]
mov r8, qword [rbp]
lea rdx, [rsp + 0xb0]
mov rcx, rbp
mov rdi, rax
call qword [r8 + 0xc8]
mov ecx, dword [rax]
xor eax, eax
add ecx, r14d
add ecx, dword [rdi + 8]
mov edi, eax
add esi, ecx
cmp r15d, eax
mov rax, qword [rbp]
mov rcx, rbp
cmovg edi, r15d
call qword [rax + 0x138]
cmp edi, eax
jge 0x18007269c
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x138]
mov edi, eax
mov rdx, qword [rbp]
mov rcx, rbp
call qword [rdx + 0x148]
cmp edi, eax
jle 0x1800726bc
mov rax, qword [rbp]
mov rcx, rbp
call qword [rax + 0x148]
mov edi, eax
mov eax, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x28]
lea edx, [rdi + rax]
mov eax, dword [rsp + 0x34]
mov edi, dword [rsp + 0x2c]
add edx, eax
mov eax, dword [rsp + 0x60]
cmp eax, edx
cmovg edx, eax
add r14d, 1
xor r15d, r15d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x60], edx
add edi, 1
mov rcx, r13
mov dword [rsp + 0x2c], edi
call sym.VKD.dll_public_virtual:_int___cdecl_DuiLib::CListContainerElementUI::GetIndex_void_const___ptr64
cmp edi, eax
jl 0x1800724cf
mov r12, qword [rsp + 0x118]
mov r13d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x4c]
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x110]
mov ebp, dword [rsp + 0x20]
add r14d, 0xffffffff
xor edi, edi
mov ecx, r14d
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x64], edi
imul ecx, dword [rsi + 0x6f8]
add ebp, ecx
mov ecx, dword [rsp + 0x128]
cmp ecx, edi
mov dword [rsp + 0x20], ebp
jle 0x180072764
sub r13d, ebp
mov eax, r13d
cdq
idiv ecx
cmp eax, edi
cmovl eax, edi
mov dword [rsp + 0x64], eax
cmp qword [rsi + 0x710], rdi
mov ebp, dword [r12]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x110], ebp
je 0x1800727a7
mov rcx, qword [rsi + 0x710]
mov rdx, qword [rcx]
call qword [rdx + 0x1b8]
cmp al, dil
je 0x1800727a7
mov rcx, qword [rsi + 0x710]
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollPos_void_const___ptr64
sub ebp, eax
mov dword [rsp + 0x110], ebp
mov ebx, edi
mov r13d, edi
mov dword [rsp + 0x2c], edi
lea rdi, [rsi + 0x6d8]
mov dword [rsp + 0x50], ebx
mov rcx, rdi
call sym.VKD.dll_public_virtual:_int___cdecl_DuiLib::CListContainerElementUI::GetIndex_void_const___ptr64
xor ecx, ecx
cmp eax, ecx
jle 0x180072c76
mov ebp, dword [rsp + 0x58]
mov r14d, dword [rsp + 0x20]
mov edx, ebx
mov rcx, rdi
call sym.VKD.dll_public:_void____ptr64___cdecl_DuiLib::CDuiPtrArray::operator___int_const___ptr64
mov rcx, rax
mov rdi, rax
mov rdx, qword [rax]
call qword [rdx + 0x1b8]
xor ecx, ecx
cmp al, cl
je 0x180072c53
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x210]
xor ecx, ecx
cmp al, cl
je 0x18007281e
mov rax, qword [rsi]
mov edx, ebx
mov rcx, rsi
call qword [rax + 0x3b8]
jmp 0x180072c53
mov rax, qword [rdi]
lea rdx, [rsp + 0x30]
add r13d, 1
mov rcx, rdi
mov dword [rsp + 0x118], r13d
call qword [rax + 0xc8]
sub ebp, dword [rsp + 0x30]
mov rax, qword [rdi]
mov dword [rsp + 0x58], ebp
mov rbx, qword [rsp + 0x58]
mov rcx, rdi
mov qword [rsp + 0x40], rbx
shr rbx, 0x20
sub ebx, dword [rsp + 0x3c]
sub ebx, dword [rsp + 0x34]
call qword [rax + 0xf8]
mov rdx, qword [rdi]
mov rcx, rdi
mov r13d, eax
call qword [rdx + 0x108]
mov ebp, eax
xor eax, eax
cmp r13d, eax
jg 0x18007288e
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x128]
mov r13d, eax
xor eax, eax
cmp ebp, eax
jg 0x1800728a0
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x148]
mov ebp, eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x30]
cmp eax, r13d
cmovg eax, r13d
mov r13d, dword [rsp + 0x118]
cmp ebx, ebp
cmovg ebx, ebp
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x38]
add ecx, eax
mov dword [rsp + 0x44], ebx
sub r14d, ecx
cmp r13d, 1
jle 0x1800728da
sub r14d, dword [rsi + 0x6f8]
mov rax, qword [rdi]
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [rax + 0x268]
mov r11, qword [rdi]
mov rcx, rdi
call qword [r11 + 0xf8]
xor ebp, ebp
cmp eax, ebp
je 0x180072956
cmp dword [rsp + 0x20], ebp
je 0x180072956
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x118]
cmp dword [rsp + 0x20], eax
jge 0x18007292b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x118]
mov dword [rsp + 0x20], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x128]
mov ecx, dword [rsp + 0x20]
cmp ecx, eax
jle 0x180072951
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x128]
mov ecx, eax
mov dword [rsp + 0x20], eax
sub r14d, ecx
jmp 0x1800729d4
mov r13d, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x64]
add r13d, 1
mov dword [rsp + 0x20], eax
cmp r13d, dword [rsp + 0x128]
mov dword [rsp + 0x2c], r13d
jne 0x180072988
mov eax, dword [rsp + 0x58]
sub eax, dword [rsp + 0x38]
sub eax, r14d
cmovs eax, ebp
mov dword [rsp + 0x20], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x118]
cmp dword [rsp + 0x20], eax
jge 0x1800729aa
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x118]
mov dword [rsp + 0x20], eax
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x128]
cmp dword [rsp + 0x20], eax
jle 0x1800729cc
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x128]
mov dword [rsp + 0x20], eax
mov r13d, dword [rsp + 0x118]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x148]
cmp eax, ebp
jne 0x1800729f1
mov eax, r15d
sub eax, dword [rsp + 0x3c]
sub eax, dword [rsp + 0x34]
cmp eax, ebp
cmovl eax, ebp
mov rcx, rdi
cmp eax, ebx
cmovg eax, ebx
mov dword [rsp + 0x24], eax
mov rax, qword [rdi]
call qword [rax + 0x138]
cmp dword [rsp + 0x24], eax
jge 0x180072a1f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x138]
mov dword [rsp + 0x24], eax
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x2e0]
cmp eax, 4
jne 0x180072ae7
mov eax, dword [r12 + 4]
add eax, dword [r12 + 0xc]
cdq
sub eax, edx
sar eax, 1
cmp qword [rsi + 0x708], rbp
mov ebx, eax
je 0x180072a84
mov rcx, qword [rsi + 0x708]
mov rdx, qword [rcx]
call qword [rdx + 0x1b8]
cmp al, bpl
je 0x180072a84
mov rcx, qword [rsi + 0x708]
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollRange_void_const___ptr64
mov rcx, qword [rsi + 0x708]
cdq
sub eax, edx
sar eax, 1
add ebx, eax
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollPos_void_const___ptr64
sub ebx, eax
mov ecx, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x110]
mov r8d, dword [rsp + 0x24]
lea eax, [rcx + rbp]
mov dword [rsp + 0x80], eax
mov eax, r8d
cdq
sub eax, edx
lea rdx, [rsp + 0xc0]
sar eax, 1
sub ebx, eax
mov eax, dword [rsp + 0x20]
add ecx, eax
lea eax, [r8 + rbx]
mov dword [rsp + 0x84], ebx
add ecx, ebp
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x88], ecx
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0xc0], xmm0
jmp 0x180072c07
cmp eax, 8
jne 0x180072b8a
cmp qword [rsi + 0x708], rbp
mov ebx, dword [r12 + 0xc]
je 0x180072b2f
mov rcx, qword [rsi + 0x708]
mov rax, qword [rcx]
call qword [rax + 0x1b8]
cmp al, bpl
je 0x180072b2f
mov rcx, qword [rsi + 0x708]
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollRange_void_const___ptr64
mov rcx, qword [rsi + 0x708]
add ebx, eax
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollPos_void_const___ptr64
sub ebx, eax
mov ecx, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x110]
lea rdx, [rsp + 0xb0]
lea eax, [rcx + rbp]
mov dword [rsp + 0x90], eax
mov eax, ebx
sub eax, dword [rsp + 0x24]
sub eax, dword [rsp + 0x3c]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x20]
add ecx, eax
add ecx, ebp
sub ebx, dword [rsp + 0x3c]
mov dword [rsp + 0x9c], ebx
mov dword [rsp + 0x98], ecx
movaps xmm0, xmmword [rsp + 0x90]
movdqa xmmword [rsp + 0xb0], xmm0
jmp 0x180072c07
cmp qword [rsi + 0x708], rbp
mov ebx, dword [r12 + 4]
je 0x180072bbb
mov rcx, qword [rsi + 0x708]
mov rax, qword [rcx]
call qword [rax + 0x1b8]
cmp al, bpl
je 0x180072bbb
mov rcx, qword [rsi + 0x708]
call sym.VKD.dll_public:_int___cdecl_DuiLib::CScrollBarUI::GetScrollPos_void_const___ptr64
sub ebx, eax
mov edx, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x110]
lea eax, [rcx + rbp]
mov dword [rsp + 0x70], eax
lea eax, [rbx + rdx]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x20]
add ecx, eax
mov eax, dword [rsp + 0x24]
add ecx, ebp
mov dword [rsp + 0x78], ecx
lea ecx, [rbx + rax]
add ecx, edx
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0x7c], ecx
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0xa0], xmm0
mov rax, qword [rdi]
xor r8d, r8d
mov rcx, rdi
call qword [rax + 0x98]
mov edx, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x38]
mov r8d, dword [rsi + 0x6f8]
mov ebx, dword [rsp + 0x50]
lea eax, [rdx + rcx]
add eax, dword [rsp + 0x30]
add eax, r8d
add ebp, eax
lea eax, [rdx + rcx]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x110], ebp
mov ebp, dword [rsp + 0x58]
add dword [rsp + 0x28], eax
lea eax, [rdx + rcx]
add eax, r8d
sub ebp, eax
lea rdi, [rsi + 0x6d8]
add ebx, 1
mov rcx, rdi
mov dword [rsp + 0x50], ebx
call sym.VKD.dll_public_virtual:_int___cdecl_DuiLib::CListContainerElementUI::GetIndex_void_const___ptr64
cmp ebx, eax
jl 0x1800727d6
mov r14d, dword [rsp + 0x48]
imul r14d, dword [rsi + 0x6f8]
movdqu xmm0, xmmword [r12]
mov r9d, dword [rsp + 0x60]
lea rdx, [rsp + 0xa0]
add r14d, dword [rsp + 0x28]
movdqu xmmword [rsp + 0xa0], xmm0
mov r8d, r14d
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x3c0]
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret