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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x1023c014]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
mov esi, ecx
push edi
mov dword [esp + 0x1c], esi
call dword [sym.imp.HncFoundation.dll__HncLayoutIsR2L_0]
mov eax, dword [esi + 4]
mov edi, dword [eax + 4]
test edi, edi
je 0x10179715
mov edi, dword [edi + 0x5c]
lea eax, [esp + 0x70]
mov dword [esp + 0x40], edi
push eax
mov ecx, esi
call sym.HncOfficeFramework.dll_public:_void___thiscall_CHDCScrollItem::GetScrollRect_struct_tagRECT__const
call dword [sym.imp.HncFoundation.dll__HncLayoutIsR2L_0]
movaps xmm0, xmmword [esp + 0x70]
movaps xmmword [esp + 0x60], xmm0
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179c3e
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179c4a
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov ecx, eax
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
test eax, eax
jne 0x10179786
xor esi, esi
jmp 0x10179789
mov esi, dword [eax + 0x5c]
mov esi, dword [esi + 0xb4]
add esi, ecx
add esi, dword [esp + 0x60]
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179c55
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179c61
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
add esi, eax
mov dword [esp + 0x20], esi
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179c6c
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179c78
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov ecx, eax
mov eax, dword [edi + 0xac]
add ecx, dword [esp + 0x64]
add eax, esi
mov esi, dword [edi + 0x84]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xb0]
add eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
cmp esi, dword [edi + 0x88]
je 0x101798c4
mov eax, dword [esi]
movups xmm0, xmmword [esp + 0x20]
movups xmmword [eax + 4], xmm0
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179c83
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179c8f
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov ecx, eax
add esi, 4
mov eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [edi + 0xac]
add ecx, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], ecx
cmp esi, dword [edi + 0x88]
jne 0x10179851
call dword [sym.imp.HncFoundation.dll__HncLayoutIsR2L_0]
mov eax, dword [esp + 0x1c]
movaps xmm0, xmmword [esp + 0x70]
movaps xmmword [esp + 0x60], xmm0
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test eax, eax
jne 0x101798e6
xor ecx, ecx
jmp 0x101798e9
mov ecx, dword [eax + 0x5c]
mov eax, dword [esp + 0x74]
mov ecx, dword [ecx + 0xb0]
inc eax
add eax, ecx
mov dword [esp + 0x3c], eax
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179c9a
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179ca6
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov esi, dword [esp + 0x60]
mov ecx, eax
add esi, ecx
mov dword [esp + 0x20], esi
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179cb1
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179cbd
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov eax, dword [edi + 0xb4]
add eax, esi
mov dword [esp + 0x24], ecx
mov esi, dword [edi + 0x90]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xb8]
add eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], eax
cmp esi, dword [edi + 0x94]
je 0x10179a33
nop dword [eax]
mov eax, dword [esi]
movups xmm0, xmmword [esp + 0x20]
movups xmmword [eax + 4], xmm0
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179cc8
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179cd4
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov ecx, eax
add esi, 4
mov eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [edi + 0xb8]
add ecx, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], ecx
cmp esi, dword [edi + 0x94]
jne 0x101799c0
call dword [sym.imp.HncFoundation.dll__HncLayoutIsR2L_0]
mov eax, dword [esp + 0x1c]
movaps xmm0, xmmword [esp + 0x70]
movaps xmmword [esp + 0x60], xmm0
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
test eax, eax
jne 0x10179a55
xor ecx, ecx
jmp 0x10179a58
mov ecx, dword [eax + 0x5c]
mov edx, dword [ecx + 0xb0]
add edx, dword [esp + 0x74]
test eax, eax
jne 0x10179a6a
xor ecx, ecx
jmp 0x10179a6d
mov ecx, dword [eax + 0x5c]
mov eax, dword [esp + 0x60]
mov ecx, dword [ecx + 0xb4]
lea esi, [eax + 1]
add eax, 2
add eax, ecx
add esi, ecx
lea ecx, [edx + 2]
mov dword [esp + 0x20], eax
mov edx, dword [edi + 0xac]
add edx, eax
mov dword [esp + 0x50], esi
mov eax, dword [edi + 0xb8]
mov esi, dword [edi + 0x78]
add eax, ecx
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], eax
cmp esi, dword [edi + 0x7c]
je 0x10179c2a
nop
mov eax, dword [esi]
inc ecx
movups xmm0, xmmword [esp + 0x20]
mov dword [esp + 0x3c], ecx
movups xmmword [eax + 4], xmm0
mov eax, dword [edi + 0x88]
mov edi, dword [edi + 0x84]
mov dword [esp + 0x4c], eax
call fcn.10135660
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
sub ecx, edi
sar ecx, 2
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x3c]
cdq
idiv ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
test edx, edx
jne 0x10179bc1
cmp eax, 0x101ddc74
jne 0x10179cdf
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179ce9
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
add eax, dword [esp + 0x50]
mov dword [esp + 0x20], eax
call fcn.10135660
mov edx, dword [eax]
cmp edx, 0x101ddc74
jne 0x10179cf4
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179d00
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov edi, dword [esp + 0x40]
add eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov ecx, dword [edi + 0xac]
add ecx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [edi + 0xb8]
add ecx, eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], ecx
jmp 0x10179c1a
cmp eax, 0x101ddc74
jne 0x10179d0b
mov eax, dword [ecx + 8]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x328]
cmp edx, 0x100bc950
jne 0x10179d15
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101e02d0]
call fcn.10086240
mov edi, dword [esp + 0x40]
mov ecx, eax
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x20], eax
mov ecx, dword [edi + 0xac]
add ecx, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x3c]
add esi, 4
cmp esi, dword [edi + 0x7c]
jne 0x10179ac0
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.1008548c
mov esp, ebp
pop ebp
ret
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x1017974d
push 1
mov ecx, eax
call edx
jmp 0x10179776
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x101797ad
push 1
mov ecx, eax
call edx
jmp 0x101797d6
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x101797f4
push 1
mov ecx, eax
call edx
jmp 0x1017981d
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x10179874
push 1
mov ecx, eax
call edx
jmp 0x1017989d
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x10179912
push 1
mov ecx, eax
call edx
jmp 0x1017993b
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x1017995f
push 1
mov ecx, eax
call edx
jmp 0x10179988
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x101799e3
push 1
mov ecx, eax
call edx
jmp 0x10179a0c
mov eax, dword [eax + 8]
call eax
jmp 0x10179b1f
push 1
mov ecx, eax
call edx
jmp 0x10179b48
mov ecx, eax
mov eax, dword [edx + 8]
call eax
jmp 0x10179b68
push 1
mov ecx, eax
call edx
jmp 0x10179b91
mov eax, dword [eax + 8]
call eax
jmp 0x10179bd1
push 1
mov ecx, eax
call edx
jmp 0x10179bfa