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

Disassembly:
push 0xffffffffffffffff
push 0x6715509e
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push ebp
push esi
push edi
mov eax, dword [0x672699e0]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 0xac]
lea eax, [ebx + 0x4c]
push eax
mov ecx, ebp
call sym.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QString_const__const
test al, al
je 0x67039746
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x67039e66
mov dword [esp + 0x14], sym.QtCore4.dll_struct_QVectorData_QVectorData::shared_null
mov ecx, sym.QtCore4.dll_struct_QVectorData_QVectorData::shared_null
mov edx, 1
lock xadd dword [ecx], edx
xor edi, edi
mov dword [esp + 0xa4], 1
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], sym.QtCore4.dll_struct_QListData::Data_QListData::shared_null
mov eax, sym.QtCore4.dll_struct_QListData::Data_QListData::shared_null
mov ecx, 1
lock xadd dword [eax], ecx
mov ecx, dword [ebp]
mov eax, 0x30
mov word [esp + 0x24], ax
mov eax, dword [ecx + 8]
xor edx, edx
xor esi, esi
mov byte [esp + 0xa4], 2
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 0xffffffff
cmp eax, edi
jle 0x67039c27
jmp 0x670397c4
mov edx, dword [esp + 0x2c]
mov eax, dword [ebp]
mov ecx, dword [eax + 0xc]
lea eax, [ecx + edi*2]
movzx ecx, word [eax]
cmp ecx, 0x27
jne 0x6703980b
inc edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edx
cmp word [esp + 0x24], cx
je 0x670397f1
mov edx, ecx
mov word [esp + 0x24], dx
jmp case.0x6703983b.66
cmp word [eax - 2], 0x5c
je case.0x6703983b.66
mov eax, 0x30
mov word [esp + 0x24], ax
jmp case.0x6703983b.66
cmp word [esp + 0x24], 0x27
je case.0x6703983b.66
mov eax, 0xff
cmp ax, cx
sbb al, al
not al
and al, cl
movsx ecx, al
add ecx, 0xffffffbf
cmp ecx, 0x39
ja case.0x6703983b.66
movzx ecx, byte [ecx + 0x67039ea8]
jmp dword [ecx*4 + 0x67039e84]
cmp dword [ebx + 0x54], 0xe
je case.0x6703983b.66
xor ebx, ebx
cmp al, 0x68
setne bl
mov edx, edi
sub edx, dword [esp + 0x2c]
push 2
mov dword [esp + 0x44], edx
mov edx, edi
mov ecx, ebp
dec ebx
and ebx, 0xfffffff0
add ebx, 0x20
mov dword [esp + 0x40], ebx
call fcn.67031db0
mov dword [esp + 0x48], eax
add esp, 4
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
call fcn.67033aa0
mov ecx, dword [esp + 0x20]
push ecx
mov edx, edi
sub edx, esi
push edx
lea eax, [esp + 0x24]
push ebp
push eax
call fcn.67035c80
mov ecx, dword [esp + 0x54]
add esp, 0x10
or dword [esp + 0x18], ebx
lea edi, [edi + ecx - 1]
jmp 0x67039c15
cmp dword [ebx + 0x54], 0xe
je case.0x6703983b.66
mov eax, edi
sub eax, edx
push 2
mov edx, edi
mov ecx, ebp
mov dword [esp + 0x64], 8
mov dword [esp + 0x68], eax
call fcn.67031db0
add esp, 4
lea ecx, [esp + 0x60]
mov ebx, eax
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x6c], ebx
call fcn.67033aa0
mov edx, dword [esp + 0x20]
push edx
mov eax, edi
sub eax, esi
push eax
lea ecx, [esp + 0x24]
push ebp
push ecx
call fcn.67035c80
add esp, 0x10
or dword [esp + 0x18], 8
jmp 0x67039c11
cmp dword [ebx + 0x54], 0xe
je case.0x6703983b.66
mov eax, edi
sub eax, edx
push 2
mov edx, edi
mov ecx, ebp
mov dword [esp + 0x88], 4
mov dword [esp + 0x8c], eax
call fcn.67031db0
add esp, 4
lea ecx, [esp + 0x84]
mov ebx, eax
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x90], ebx
call fcn.67033aa0
mov edx, dword [esp + 0x20]
push edx
mov eax, edi
sub eax, esi
push eax
lea ecx, [esp + 0x24]
push ebp
push ecx
call fcn.67035c80
add esp, 0x10
or dword [esp + 0x18], 4
jmp 0x67039c11
cmp dword [ebx + 0x54], 0xe
je case.0x6703983b.66
mov eax, edi
sub eax, edx
push 3
mov edx, edi
mov ecx, ebp
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], eax
call fcn.67031db0
add esp, 4
xor ebx, ebx
cmp eax, 3
setge bl
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x18]
lea ebx, [ebx + ebx + 1]
mov dword [esp + 0x78], ebx
call fcn.67033aa0
mov edx, dword [esp + 0x20]
push edx
mov eax, edi
sub eax, esi
push eax
lea ecx, [esp + 0x24]
push ebp
push ecx
call fcn.67035c80
add esp, 0x10
or dword [esp + 0x18], 2
jmp 0x67039c11
cmp dword [ebx + 0x54], 0xe
je case.0x6703983b.66
cmp al, 0x41
sete bl
xor eax, eax
mov edx, edi
sub edx, dword [esp + 0x2c]
test bl, bl
setne al
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x7c], 1
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
call fcn.67033aa0
mov edx, dword [esp + 0x20]
push edx
mov eax, edi
sub eax, esi
push eax
lea ecx, [esp + 0x24]
push ebp
push ecx
call fcn.67035c80
mov eax, dword [ebp]
or dword [esp + 0x28], 1
lea edx, [edi + 1]
add esp, 0x10
cmp edx, dword [eax + 8]
jge 0x67039c15
mov eax, dword [eax + 0xc]
neg bl
sbb bl, bl
and bl, 0xe0
add bl, 0x70
movzx ecx, bl
cmp word [eax + edi*2 + 2], cx
jne 0x67039c15
mov edi, edx
jmp 0x67039c15
cmp dword [ebx + 0x54], 0xf
je case.0x6703983b.66
push 4
mov edx, edi
mov ecx, ebp
call fcn.67031db0
add esp, 4
cmp eax, 2
jl case.0x6703983b.66
lea ebx, [eax - 4]
neg ebx
sbb ebx, ebx
and ebx, 0x400
xor edx, edx
mov ecx, edi
sub ecx, dword [esp + 0x2c]
add ebx, 0x400
cmp eax, 4
sete dl
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], ecx
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x4c], ebx
lea edx, [edx + edx + 2]
mov dword [esp + 0x54], edx
call fcn.67033aa0
mov ecx, dword [esp + 0x20]
push ecx
mov edx, edi
sub edx, esi
push edx
lea eax, [esp + 0x24]
push ebp
push eax
call fcn.67035c80
mov ecx, dword [esp + 0x60]
add esp, 0x10
or dword [esp + 0x18], ebx
lea edi, [edi + ecx - 1]
jmp 0x67039c15
cmp dword [ebx + 0x54], 0xf
je case.0x6703983b.66
mov eax, edi
sub eax, edx
push 4
mov edx, edi
mov ecx, ebp
mov dword [esp + 0x94], 0x200
mov dword [esp + 0x98], eax
call fcn.67031db0
add esp, 4
lea ecx, [esp + 0x90]
mov ebx, eax
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x9c], ebx
call fcn.67033aa0
mov edx, edi
sub edx, esi
push edx
push esi
lea eax, [esp + 0x40]
push eax
mov ecx, ebp
call sym.QtCore4.dll_public:_class_QString___thiscall_QString::mid_int__int_
push eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0xac], 3
call fcn.67031c40
add esp, 8
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xa8], 4
call fcn.670215e0
lea ecx, [esp + 0x34]
mov byte [esp + 0xa4], 3
call sym.QtCore4.dll_public:_void___thiscall_QString::destructor_void_
lea ecx, [esp + 0x38]
mov byte [esp + 0xa4], 2
call sym.QtCore4.dll_public:_void___thiscall_QString::destructor_void_
or dword [esp + 0x18], 0x200
jmp 0x67039c11
cmp dword [ebx + 0x54], 0xf
je case.0x6703983b.66
push 4
mov edx, edi
mov ecx, ebp
call fcn.67031db0
mov ebx, eax
xor edx, edx
add esp, 4
cmp ebx, 3
setl dl
mov eax, edi
sub eax, dword [esp + 0x2c]
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], eax
dec edx
and edx, 0xf00
add edx, 0x100
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ebx
call fcn.67033aa0
mov edx, dword [esp + 0x20]
push edx
mov eax, edi
sub eax, esi
push eax
lea ecx, [esp + 0x24]
push ebp
push ecx
call fcn.67035c80
mov edx, dword [esp + 0x64]
add esp, 0x10
or dword [esp + 0x18], edx
lea edi, [edi + ebx - 1]
mov ebx, dword [esp + 0x28]
lea esi, [edi + 1]
inc edi
cmp edi, dword [esp + 0x30]
jl 0x670397c0
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 8]
test ecx, ecx
jne 0x67039c8d
cmp dword [ebx + 0x60], 1
jne 0x67039c8d
mov eax, dword [esp + 0x1c]
mov byte [esp + 0xa4], 1
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x67039c5b
mov edx, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x20]
call fcn.67019690
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], 0xffffffff
test eax, eax
je 0x67039c86
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x67039c86
mov edx, dword [esp + 0x14]
push 4
push edx
call sym.QtCore4.dll_public:_static_void___cdecl_QVectorData::free_struct_QVectorData___int_
add esp, 8
xor al, al
jmp 0x67039e68
mov eax, dword [esp + 0x18]
and eax, 0x11
cmp eax, 0x10
jne 0x67039cde
test ecx, ecx
jle 0x67039cde
xor edi, edi
mov ebx, ecx
mov eax, dword [edx]
cmp eax, 1
je 0x67039cbd
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.67032690
mov edx, dword [esp + 0x14]
cmp dword [edi + edx + 0x10], 0x10
jne 0x67039cd4
mov dword [edi + edx + 0x10], 0x20
mov edx, dword [esp + 0x14]
add edi, 0xc
dec ebx
jne 0x67039ca1
mov ebx, dword [esp + 0x28]
mov eax, dword [ebp]
cmp esi, dword [eax + 8]
jge 0x67039d02
mov ecx, dword [esp + 0x20]
push ecx
mov edx, esi
sub edx, dword [esp + 0x34]
lea eax, [esp + 0x20]
push edx
push ebp
push eax
call fcn.67035c80
add esp, 0x10
jmp 0x67039d4d
mov dword [esp + 0x2c], sym.QtCore4.dll_struct_QString::Data_QString::shared_null
mov ecx, sym.QtCore4.dll_struct_QString::Data_QString::shared_null
mov edx, 1
lock xadd dword [ecx], edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xa8], 5
call fcn.670215e0
mov byte [esp + 0xa4], 2
mov ecx, sym.QtCore4.dll_struct_QString::Data_QString::shared_null
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x67039d4d
push ecx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
push ebp
lea ecx, [ebx + 0x4c]
call fcn.670630f0
mov eax, dword [esp + 0x1c]
cmp dword [ebx + 0x48], eax
je 0x67039d97
mov edi, eax
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [ebx + 0x48]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x67039d82
mov ecx, dword [ebx + 0x48]
push ecx
lea ecx, [ebx + 0x48]
call fcn.67019690
mov dword [ebx + 0x48], edi
test byte [edi + 0x10], 1
jne 0x67039d97
mov edx, dword [edi + 4]
push edx
lea ecx, [ebx + 0x48]
call fcn.6701b740
mov edi, dword [esp + 0x14]
mov eax, edi
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [ebx + 0x14]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x67039dc0
mov eax, dword [ebx + 0x14]
push 4
push eax
call sym.QtCore4.dll_public:_static_void___cdecl_QVectorData::free_struct_QVectorData___int_
add esp, 8
mov dword [ebx + 0x14], edi
test byte [edi + 0xc], 1
jne 0x67039dd9
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
push ecx
push edx
lea ecx, [ebx + 0x14]
call fcn.67032690
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 8], eax
mov dword [ebx + 0x28], 0xffffffff
mov byte [esp + 0xa4], 1
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x67039e3b
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
lea esi, [eax + ecx*4 + 0x14]
lea edi, [eax + edx*4 + 0x14]
mov ebx, eax
cmp edi, esi
je 0x67039e32
mov eax, dword [esi - 4]
sub esi, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x67039e2e
mov edx, dword [esi]
push edx
call sym.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__
add esp, 4
cmp esi, edi
jne 0x67039e14
push ebx
call sym.QtCore4.dll_void___cdecl_qFree_void__
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], 0xffffffff
test eax, eax
je 0x67039e66
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x67039e66
mov edx, dword [esp + 0x14]
push 4
push edx
call sym.QtCore4.dll_public:_static_void___cdecl_QVectorData::free_struct_QVectorData___int_
add esp, 8
mov al, 1
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 4