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

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
sub esp, 0x5c
mov eax, dword [ecx + 4]
mov dword [esp + 0x24], eax
movzx eax, byte [ecx + 0x5f]
mov byte [ecx + 0x5f], 0
mov byte [esp + 0x2f], al
mov eax, dword [ecx + 0x78]
mov edx, dword [eax + 4]
mov esi, dword [eax + 0xc]
mov ecx, edx
add esi, eax
shl ecx, 4
add ecx, dword [eax + 0xc]
lea ebx, [eax + ecx]
mov dword [esp + 0x20], ebx
cmp ebx, esi
je 0x66699ddd
lea eax, [edi + 0x34]
mov ebp, edi
mov dword [esp + 0x28], eax
lea esi, [esi]
nop
mov eax, dword [esi + 4]
mov edi, dword [esi + 8]
mov dword [esp + 4], esi
lea ecx, [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call method.QDirModel.index_QString_const__int__const
sub esp, 0xc
mov eax, dword [esp + 0x40]
cmp dword [edi], eax
je 0x66699e48
mov edx, dword [ebp + 0x34]
mov ecx, dword [edx + 0xc]
test ecx, ecx
je 0x66699cfc
mov eax, dword [edx + 8]
cmp eax, 1
jbe 0x66699c7c
mov ecx, dword [esp + 0x28]
call fcn.667b7010
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x28]
mov dword [esp], edi
call fcn.667e6bb0
mov ecx, dword [ebp + 0x34]
sub esp, 8
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
cmp eax, ecx
je 0x66699cf8
mov ebx, dword [eax]
cmp ecx, ebx
je 0x66699cbc
lea esi, [esi]
lea esi, [esi]
mov edx, dword [ebx + 8]
cmp dword [eax + 8], edx
je 0x66699df8
mov dword [esp], eax
call dword [0x66a201f0]
sub esp, 4
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
mov ecx, dword [ebp + 0x34]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x18]
sub eax, 1
sar edx, 3
mov dword [ecx + 0xc], eax
cmp edx, eax
jl 0x66699cf8
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x14]
cmp ax, dx
jg 0x66699e80
lea esi, [esi]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x40]
mov dword [edi], edx
mov edx, dword [esp + 0x44]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x48]
mov dword [edi + 8], edx
mov edx, dword [esp + 0x4c]
mov dword [edi + 0xc], edx
test eax, eax
js 0x66699dc8
mov edx, dword [esp + 0x44]
test edx, edx
js 0x66699dc8
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x66699dc8
mov eax, dword [ebp + 0x34]
mov eax, dword [eax + 8]
cmp eax, 1
jbe 0x66699d4b
mov ecx, dword [esp + 0x28]
call fcn.667b7010
mov ecx, dword [ebp + 0x34]
mov eax, dword [ecx + 0x18]
cmp dword [ecx + 0xc], eax
jge 0x66699ef0
lea eax, [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], eax
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.667e6bb0
mov ecx, dword [ebp + 0x34]
sub esp, 8
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp], 4
mov dword [esp + 0x1c], eax
call dword [0x66a201e0]
mov edx, dword [ebx]
sub esp, 4
mov dword [eax], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x40]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x44]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x18], edi
mov dword [eax + 0x14], edx
mov dword [ebx], eax
mov eax, dword [ebp + 0x34]
add dword [eax + 0xc], 1
lea esi, [esi]
add esi, 0x10
cmp esi, dword [esp + 0x20]
jne 0x66699c30
mov eax, dword [ebp + 0x78]
mov edi, ebp
mov edx, dword [eax + 4]
test edx, edx
jne 0x66699eb0
movzx eax, byte [esp + 0x2f]
mov byte [edi + 0x5f], al
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebx + 0x10]
cmp dword [eax + 0x10], edx
jne 0x66699cbc
mov edx, dword [ebx + 0xc]
cmp dword [eax + 0xc], edx
jne 0x66699cbc
mov edx, dword [ebx + 0x14]
cmp dword [eax + 0x14], edx
jne 0x66699cbc
mov dword [esp], eax
call dword [0x66a201f0]
sub esp, 4
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
mov ecx, dword [ebp + 0x34]
mov eax, ebx
mov edx, dword [ebx]
sub dword [ecx + 0xc], 1
cmp edx, ecx
je 0x66699ea0
mov ebx, edx
jmp 0x66699cb0
mov ebx, dword [esp + 0x48]
cmp dword [edi + 8], ebx
jne 0x66699c5d
mov ebx, dword [esp + 0x44]
cmp dword [edi + 4], ebx
jne 0x66699c5d
mov edx, dword [edi + 0xc]
cmp edx, dword [esp + 0x4c]
jne 0x66699c5d
test edx, edx
jne 0x66699dc8
jmp 0x66699c5d
sub eax, 2
cmp eax, edx
cmovge edx, eax
mov dword [esp], edx
call dword [0x66a201ec]
sub esp, 4
jmp 0x66699cf8
mov ebx, ecx
jmp 0x66699cbc
mov edx, dword [eax]
lea esi, [edi + 0x78]
cmp edx, 1
jbe 0x66699f30
test dword [eax + 8], 0x7fffffff
jne 0x66699f10
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0x10
call dword [0x66a1f9e0]
mov dword [edi + 0x78], eax
mov edx, eax
jmp 0x66699f32
movsx eax, word [ecx + 0x16]
add eax, 1
mov dword [esp], eax
call dword [0x66a201ec]
sub esp, 4
jmp 0x66699d5a
mov dword [esp + 4], 0
mov eax, dword [eax + 8]
mov ecx, esi
and eax, 0x7fffffff
mov dword [esp], eax
call fcn.667d12c0
mov eax, dword [edi + 0x78]
sub esp, 8
mov edx, eax
mov ebx, dword [edx + 4]
shl ebx, 4
add ebx, dword [edx + 0xc]
add ebx, edx
mov edx, dword [edx]
cmp edx, 1
jbe 0x66699f79
test dword [eax + 8], 0x7fffffff
jne 0x66699ff0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 4
mov dword [esp], 0x10
call dword [0x66a1f9e0]
mov dword [edi + 0x78], eax
mov ebp, dword [eax + 0xc]
add ebp, eax
cmp ebp, ebx
je 0x66699fd3
mov esi, dword [0x66a1fdbc]
jmp 0x66699f9f
cmp edx, 0xffffffff
je 0x66699f9b
lock sub dword [eax], 1
je 0x66699fb0
cmp ebp, ebx
je 0x66699fd0
add ebp, 0x10
lea ecx, [ebp - 4]
call esi
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
test edx, edx
jne 0x66699f90
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call dword [0x66a1f9d8]
cmp ebp, ebx
jne 0x66699f9f
mov eax, dword [edi + 0x78]
mov dword [eax + 4], 0
movzx eax, byte [esp + 0x2f]
mov byte [edi + 0x5f], al
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0
mov eax, dword [eax + 8]
mov ecx, esi
and eax, 0x7fffffff
mov dword [esp], eax
call fcn.667d12c0
mov eax, dword [edi + 0x78]
sub esp, 8
jmp 0x66699f79