Function at 0x1000d540
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x4e4], 0
je 0x1000dd84
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
add eax, 0xfffffff3
cmp eax, 0x60
ja case.0x1000d571.14
movzx eax, byte [eax + 0x1000e1d0]
jmp dword [eax*4 + 0x1000e19c]
test byte [esi + 0xd0], 1
je case.0x1000d571.14
mov edi, dword [esi + 0x524]
mov ebx, dword [esi + 0x518]
test edi, edi
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 4
je 0x1000d5b0
cmp dword [edi + 8], 0
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 2
jne 0x1000dd84
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
xor ecx, ecx
mov dword [ebp - 0x18], eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x14], 0xfffffe6b
mov eax, ebx
mov dword [ebp - 0x10], edi
cmove eax, ecx
mov dword [ebp - 0xc], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov dword [ebp + 8], eax
test eax, eax
je 0x1000d621
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x1c]
push ecx
push eax
mov eax, dword [ebp + 8]
push 0x4e
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x1000dd84
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1000d65d
push 0
push 0
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.10013dd0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatExpand_class_CTreeListItem__
push 0
push 1
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x1000d66c
mov ecx, edi
call fcn.10013dd0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatExpand_class_CTreeListItem__
mov ecx, esi
call sym.TreeList.dll_protected:_void___thiscall_CTreeListCtrl::Layout_void_
push 1
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x30], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
mov dword [ebp - 0x2c], eax
xor eax, eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x28], 0xfffffe6a
mov dword [ebp - 0x24], edi
cmove ebx, eax
mov dword [ebp - 0x20], ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov edi, eax
test edi, edi
je 0x1000dd84
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x30]
push ecx
push eax
push 0x4e
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
test byte [esi + 0xd0], 1
je case.0x1000d571.14
mov edi, dword [esi + 0x524]
mov ebx, dword [esi + 0x518]
test edi, edi
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 4
je 0x1000d71b
cmp dword [edi + 8], 0
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 2
je 0x1000dd84
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x30], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x28], 0xfffffe6b
mov eax, ebx
mov dword [ebp - 0x24], edi
cmove eax, ecx
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov dword [ebp + 8], eax
test eax, eax
je 0x1000d78c
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x30]
push ecx
push eax
mov eax, dword [ebp + 8]
push 0x4e
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x1000dd84
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1000da9c
push 0
push 0
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.10013dc0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatCollapse_class_CTreeListItem__
push 0
push 1
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x1000daab
test byte [esi + 0xd0], 1
je case.0x1000d571.14
mov edi, dword [esi + 0x524]
mov eax, dword [esi + 0x518]
mov dword [ebp + 8], eax
test edi, edi
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 4
je 0x1000d80a
cmp dword [edi + 8], 0
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
mov ecx, edi
push 0xffffffffffffffff
test al, 2
je 0x1000d82f
mov ebx, 1
call fcn.10013e60
test al, 2
je 0x1000dd84
jmp 0x1000d83e
xor ebx, ebx
call fcn.10013e60
test al, 2
jne 0x1000dd84
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x30], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
mov dword [ebp - 0x2c], eax
xor edx, edx
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
mov dword [ebp - 0x28], 0xfffffe6b
cmove eax, edx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov dword [ebp - 4], eax
test eax, eax
je 0x1000d89f
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x30]
push ecx
push eax
mov eax, dword [ebp - 4]
push 0x4e
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x1000dd84
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 4], eax
test eax, eax
je 0x1000d8be
push 0
push 0
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
sub ebx, 0
je 0x1000d90a
sub ebx, 1
je 0x1000d8f9
sub ebx, 2
jne 0x1000d919
mov ecx, edi
call fcn.10013dc0
mov eax, dword [edi + 8]
test eax, eax
je 0x1000d8ef
nop dword [eax + eax]
push eax
mov ecx, esi
call sym.TreeList.dll_public:_int___thiscall_CTreeListCtrl::DeleteItem_class_CTreeListItem__
mov eax, dword [edi + 8]
test eax, eax
jne 0x1000d8e0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatCollapse_class_CTreeListItem__
jmp 0x1000d919
mov ecx, edi
call fcn.10013dc0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatCollapse_class_CTreeListItem__
jmp 0x1000d919
mov ecx, edi
call fcn.10013dd0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatExpand_class_CTreeListItem__
cmp dword [ebp - 4], 0
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
je 0x1000d930
push 0
push 1
push 0xb
push dword [esi + 0x20]
call ebx
mov ecx, esi
call sym.TreeList.dll_protected:_void___thiscall_CTreeListCtrl::Layout_void_
push 1
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov eax, dword [ebp + 8]
cmp eax, 0xffffffff
mov dword [ebp - 0x14], 0xfffffe6a
cmove eax, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov edi, eax
test edi, edi
je 0x1000dd84
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x1c]
push ecx
push eax
push 0x4e
push dword [edi + 0x20]
call ebx
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1000db22
test byte [esi + 0xd0], 1
je 0x1000db22
mov edi, dword [esi + 0x524]
mov ebx, dword [esi + 0x518]
test edi, edi
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 4
je 0x1000d9ef
cmp dword [edi + 8], 0
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 2
je 0x1000dd84
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x30], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x28], 0xfffffe6b
mov eax, ebx
mov dword [ebp - 0x24], edi
cmove eax, ecx
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov dword [ebp + 8], eax
test eax, eax
je 0x1000da60
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x30]
push ecx
push eax
mov eax, dword [ebp + 8]
push 0x4e
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x1000dd84
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1000da9c
push 0
push 0
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.10013dc0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatCollapse_class_CTreeListItem__
push 0
push 1
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x1000daab
mov ecx, edi
call fcn.10013dc0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatCollapse_class_CTreeListItem__
mov ecx, esi
call sym.TreeList.dll_protected:_void___thiscall_CTreeListCtrl::Layout_void_
push 1
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x14], 0xfffffe6a
mov dword [ebp - 0x10], edi
cmove ebx, eax
mov dword [ebp - 0xc], ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov edi, eax
test edi, edi
je 0x1000dd84
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x1c]
push ecx
push eax
push 0x4e
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
test edx, edx
jle 0x1000db56
nop
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000db6d
inc ecx
cmp ecx, edx
jl 0x1000db30
cmp ecx, edx
jne 0x1000db6d
test edx, edx
jle 0x1000e196
mov eax, dword [esi + 0x4e0]
jmp 0x1000dd51
xor eax, eax
add ecx, 0xffffffff
cmovns eax, ecx
push eax
jmp 0x1000dd46
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1000dcf7
test byte [esi + 0xd0], 1
je 0x1000dcf7
mov edi, dword [esi + 0x524]
mov ebx, dword [esi + 0x518]
test edi, edi
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 4
je 0x1000dbc4
cmp dword [edi + 8], 0
je 0x1000dd84
push 0xffffffffffffffff
mov ecx, edi
call fcn.10013e60
test al, 2
jne 0x1000dd84
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x30], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x28], 0xfffffe6b
mov eax, ebx
mov dword [ebp - 0x24], edi
cmove eax, ecx
mov dword [ebp - 0x20], eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov dword [ebp + 8], eax
test eax, eax
je 0x1000dc35
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x30]
push ecx
push eax
mov eax, dword [ebp + 8]
push 0x4e
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
je 0x1000dd84
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1000dc71
push 0
push 0
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.10013dd0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatExpand_class_CTreeListItem__
push 0
push 1
push 0xb
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x1000dc80
mov ecx, edi
call fcn.10013dd0
push edi
mov ecx, esi
call sym.TreeList.dll_private:_void___thiscall_CTreeListCtrl::StatExpand_class_CTreeListItem__
mov ecx, esi
call sym.TreeList.dll_protected:_void___thiscall_CTreeListCtrl::Layout_void_
push 1
push 0
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [esi + 0x20]
mov ecx, esi
mov dword [ebp - 0x1c], eax
call sub.mfc140.dll_Ordinal_5398
push dword [esi + 0x20]
mov dword [ebp - 0x18], eax
xor eax, eax
cmp ebx, 0xffffffff
mov dword [ebp - 0x14], 0xfffffe6a
mov dword [ebp - 0x10], edi
cmove ebx, eax
mov dword [ebp - 0xc], ebx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call sub.mfc140.dll_Ordinal_4870
mov edi, eax
test edi, edi
je 0x1000dd84
mov ecx, esi
call sub.mfc140.dll_Ordinal_5398
lea ecx, [ebp - 0x1c]
push ecx
push eax
push 0x4e
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
test edx, edx
jle 0x1000dd29
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000dd3d
inc ecx
cmp ecx, edx
jl 0x1000dd03
cmp ecx, edx
jne 0x1000dd3d
test edx, edx
jle 0x1000e196
mov eax, dword [esi + 0x4e0]
jmp 0x1000dd51
inc ecx
cmp ecx, edx
jl 0x1000dd45
lea ecx, [edx - 1]
push ecx
lea ecx, [esi + 0x4dc]
call fcn.10005df0
mov eax, dword [eax]
mov dword [esi + 0x518], eax
mov eax, dword [esi + 0x524]
test eax, eax
jne 0x1000dd74
push dword [esi + 0x520]
mov ecx, esi
call sym.TreeList.dll_public:_class_CTreeListItem____thiscall_CTreeListCtrl::GetNextVisibleItem_class_CTreeListItem__
test eax, eax
je 0x1000dd84
push 1
push dword [esi + 0x518]
push eax
mov ecx, esi
call sym.TreeList.dll_public:_void___thiscall_CTreeListCtrl::SelectItem_class_CTreeListItem___int__int_
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x524]
test eax, eax
je 0x1000dda4
push eax
call sym.TreeList.dll_public:_class_CTreeListItem____thiscall_CTreeListCtrl::GetPrevVisibleItem_class_CTreeListItem__
jmp 0x1000ddaf
push dword [esi + 0x520]
call sym.TreeList.dll_public:_class_CTreeListItem____thiscall_CTreeListCtrl::GetNextVisibleItem_class_CTreeListItem__
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
mov edi, eax
test edx, edx
jle 0x1000e078
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000e082
inc ecx
cmp ecx, edx
jl 0x1000ddc1
jmp 0x1000e078
mov eax, dword [esi + 0x524]
test eax, eax
jne 0x1000de00
mov eax, dword [esi + 0x520]
push eax
call sym.TreeList.dll_public:_class_CTreeListItem____thiscall_CTreeListCtrl::GetNextVisibleItem_class_CTreeListItem__
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
mov edi, eax
test edx, edx
jle 0x1000e078
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000e082
inc ecx
cmp ecx, edx
jl 0x1000de18
jmp 0x1000e078
mov edi, dword [esi + 0x128]
sub edi, dword [esi + 0x120]
mov ecx, dword [esi + 0x51c]
mov eax, edi
cdq
idiv ecx
cmp edi, ecx
mov ecx, esi
push 1
lea edx, [eax - 1]
cmovl edx, eax
mov dword [ebp - 4], edx
call sub.mfc140.dll_Ordinal_6853
push eax
mov ecx, esi
mov dword [ebp + 8], eax
call sym.TreeList.dll_private:_class_CTreeListItem____thiscall_CTreeListCtrl::GetTreeListItem_int_
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
mov ebx, eax
test edx, edx
jle 0x1000deb6
nop dword [eax + eax]
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000dec0
inc ecx
cmp ecx, edx
jl 0x1000de90
mov dword [esi + 0x518], 0
mov edi, dword [esi + 0x524]
test edi, edi
je 0x1000def5
push edi
mov ecx, esi
call sym.TreeList.dll_private:_int___thiscall_CTreeListCtrl::GetTreeListItem_class_CTreeListItem__
mov ecx, dword [ebp + 8]
cmp ecx, eax
jle 0x1000def8
push dword [esi + 0x518]
mov ecx, esi
push edi
call sym.TreeList.dll_public:_int___thiscall_CTreeListCtrl::EnsureVisible_class_CTreeListItem___int_
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp + 8]
test ebx, ebx
je 0x1000dd84
cmp ebx, edi
jne 0x1000e13a
sub ecx, dword [ebp - 4]
xor ebx, ebx
lea eax, [ecx - 1]
test eax, eax
cmovns ebx, eax
push ebx
jmp 0x1000e016
mov edi, dword [esi + 0x128]
sub edi, dword [esi + 0x120]
mov ecx, dword [esi + 0x51c]
mov eax, edi
cdq
idiv ecx
cmp edi, ecx
mov ecx, esi
push 1
lea edx, [eax - 1]
cmovl edx, eax
mov dword [ebp - 4], edx
call sub.mfc140.dll_Ordinal_6853
mov edx, dword [esi + 0x520]
mov ebx, eax
mov eax, dword [ebp - 4]
add eax, ebx
mov dword [ebp + 8], eax
mov edi, dword [edx + 0x1c]
lea ecx, [edi - 1]
cmp eax, ecx
jl 0x1000df66
lea eax, [edi - 2]
mov dword [ebp + 8], eax
push eax
mov ecx, esi
call sym.TreeList.dll_private:_class_CTreeListItem____thiscall_CTreeListCtrl::GetTreeListItem_int_
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
mov dword [ebp - 8], eax
test edx, edx
jle 0x1000dfa6
nop dword [eax]
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000dfb0
inc ecx
cmp ecx, edx
jl 0x1000df80
mov dword [esi + 0x518], 0
mov edi, dword [esi + 0x524]
test edi, edi
je 0x1000dfcb
push edi
mov ecx, esi
call sym.TreeList.dll_private:_int___thiscall_CTreeListCtrl::GetTreeListItem_class_CTreeListItem__
cmp dword [ebp + 8], eax
jl 0x1000ded9
mov eax, dword [ebp - 8]
test eax, eax
je 0x1000dd84
cmp eax, edi
jne 0x1000dd74
mov eax, dword [esi + 0x520]
mov edx, dword [ebp - 4]
mov edi, dword [eax + 0x1c]
lea ecx, [edi - 1]
sub ecx, edx
dec ecx
cmp ebx, ecx
jge 0x1000e004
lea eax, [edi - 1]
sub eax, edx
lea ecx, [edx + 1]
add ecx, ebx
dec eax
cmp ecx, eax
cmovl ebx, ecx
mov eax, dword [ebp + 8]
inc eax
add edx, eax
lea eax, [edi - 1]
cmp edx, eax
lea ecx, [eax - 1]
cmovl ecx, edx
push ecx
mov ecx, esi
call sym.TreeList.dll_private:_class_CTreeListItem____thiscall_CTreeListCtrl::GetTreeListItem_int_
push 1
push ebx
push 1
mov ecx, esi
mov edi, eax
call sub.mfc140.dll_Ordinal_13855
push 1
push dword [esi + 0x518]
push edi
jmp 0x1000dd7d
push dword [esi + 0x520]
call sym.TreeList.dll_public:_class_CTreeListItem____thiscall_CTreeListCtrl::GetNextVisibleItem_class_CTreeListItem__
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
mov edi, eax
test edx, edx
jle 0x1000e078
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000e082
inc ecx
cmp ecx, edx
jl 0x1000e052
mov dword [esi + 0x518], 0
test edi, edi
je 0x1000dd84
push 1
push dword [esi + 0x518]
push edi
jmp 0x1000dd7d
push dword [esi + 0x520]
call sym.TreeList.dll_public:_class_CTreeListItem____thiscall_CTreeListCtrl::GetNextVisibleItem_class_CTreeListItem__
mov ebx, eax
mov edi, ebx
test ebx, ebx
je 0x1000e0f6
nop dword [eax + eax]
push 0xffffffffffffffff
mov ecx, edi
mov ebx, edi
call fcn.10013e60
test al, 2
je 0x1000e0ca
mov eax, dword [edi + 8]
test eax, eax
je 0x1000e0ca
mov edi, eax
jmp 0x1000e0b0
mov eax, dword [edi + 0x10]
test eax, eax
je 0x1000e0d5
mov edi, eax
jmp 0x1000e0b0
mov eax, dword [esi + 0x520]
cmp edi, eax
je 0x1000e0f6
mov ecx, dword [edi + 4]
cmp ecx, eax
je 0x1000e0f6
push 0
push ecx
mov ecx, esi
call sym.TreeList.dll_private:_class_CTreeListItem____thiscall_CTreeListCtrl::GetNextVisibleItem_class_CTreeListItem___int_
mov edi, eax
test edi, edi
jne 0x1000e0b0
mov edx, dword [esi + 0x4e4]
xor ecx, ecx
test edx, edx
jle 0x1000e128
test ecx, ecx
js 0x1000e196
cmp ecx, edx
jge 0x1000e196
mov eax, dword [esi + 0x4e0]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esi + 0x518]
je 0x1000e132
inc ecx
cmp ecx, edx
jl 0x1000e102
mov dword [esi + 0x518], 0
test ebx, ebx
je 0x1000dd84
push 1
push dword [esi + 0x518]
push ebx
jmp 0x1000dd7d
cmp dword [esi + 0x50c], 0
jle 0x1000dd84
mov eax, dword [esi + 0x518]
test eax, eax
js 0x1000dd84
cmp eax, dword [esi + 0x4d0]
jge 0x1000dd84
push eax
mov eax, dword [esi + 0x508]
push dword [eax]
call sym.TreeList.dll_public:_int___thiscall_CTreeListCtrl::BeginModify_class_CTreeListItem___int_
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
call sub.mfc140.dll_Ordinal_2381
nop
dec eax
loope 268493215
adc bh, cl
xlatb
add byte [eax], dl
inc edi
fiadd word [eax]
adc byte [ebx], bl
fild word [eax]
adc byte [eax + 0x391000e0], bl
loopne 0x1000e1b3
adc byte [esi - 0x6defff27], ah
fld qword [eax]
adc byte [ebx - 0x25], bh
add byte [eax], dl
invalid