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

Disassembly:
sub esp, 0x88
push ebx
push ebp
push esi
mov esi, dword [esp + 0x9c]
sub eax, esi
test eax, eax
push edi
mov dword [esp + 0x3c], eax
jg 0x6707b4b3
push 0xf3
push str.d:qt4.7.0qt4.7.0_src3rdpartyharfbuzz_srcharfbuzz_shaper.cpp
push str.nmarks___0
call dword [sym.imp.MSVCR80.dll__wassert]
add esp, 0xc
mov ebx, dword [esp + 0x9c]
mov ebp, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
lea edx, [esp + 0x64]
push edx
mov edx, dword [ebp + esi*4]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x88], ebp
call eax
add esp, 0xc
cmp dword [ebx + 0x10], 4
jne 0x6707b4f9
mov eax, dword [esp + 0x68]
neg eax
cmp eax, dword [esp + 0x70]
jle 0x6707b4f9
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x14]
push 0
push eax
call edx
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx - 0x100]
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
add esp, 8
add edi, 0x40
cmp ecx, 0x100
jle 0x6707b540
add edi, 0x100
jmp 0x6707b542
add edi, ecx
movzx eax, byte [ebx + 0x14]
and eax, 0x80000001
mov dword [esp + 0x48], edi
jns 0x6707b556
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [esp + 0x3c]
setne byte [esp + 0x1f]
xor esi, esi
cmp ecx, 1
mov byte [esp + 0x13], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
jl 0x6707b8ae
mov eax, dword [esp + 0xa0]
lea edx, [eax*4 + 4]
mov dword [esp + 0x44], edx
lea edx, [eax*8 + 8]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x20]
lea eax, [edx + eax*2 + 3]
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], ecx
jmp 0x6707b5cf
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x9c]
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax]
lea edx, [esp + 0x4c]
push edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx + ebp]
push edx
push eax
mov eax, dword [ecx + 0x10]
call eax
mov eax, dword [esp + 0x2c]
mov bl, byte [eax]
xor ecx, ecx
add esp, 0xc
cmp bl, 0xc8
mov dword [esp + 0x18], ecx
mov edx, edi
jae 0x6707b687
mov al, bl
sub al, 0x1b
cmp al, 9
ja 0x6707b611
cmp edi, 3
jge 0x6707b611
lea edx, [edi + 1]
cmp bl, 0xa
jb 0x6707b61b
cmp bl, 0x12
jbe 0x6707b685
cmp bl, 0x14
je 0x6707b685
cmp bl, 0x16
je 0x6707b685
cmp bl, 0x1d
je 0x6707b685
cmp bl, 0x20
je 0x6707b685
cmp bl, 0x17
je 0x6707b681
cmp bl, 0x1b
je 0x6707b681
cmp bl, 0x1c
je 0x6707b681
cmp bl, 0x1e
je 0x6707b681
cmp bl, 0x1f
je 0x6707b681
cmp bl, 0x21
jb 0x6707b652
cmp bl, 0x24
jbe 0x6707b681
cmp bl, 9
je 0x6707b67d
cmp bl, 0x67
je 0x6707b67d
cmp bl, 0x76
je 0x6707b67d
cmp bl, 0x18
je 0x6707b679
cmp bl, 0x6b
je 0x6707b679
cmp bl, 0x7a
je 0x6707b679
cmp bl, 0x19
jne 0x6707b687
mov bl, 0xe4
jmp 0x6707b687
mov bl, 0xe8
jmp 0x6707b687
mov bl, 0xde
jmp 0x6707b687
mov bl, 0xe6
jmp 0x6707b687
mov bl, 0xdc
cmp bl, byte [esp + 0x13]
je 0x6707b6b9
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
movzx eax, bl
add eax, 0xffffff38
cmp eax, 0x22
ja case.0x6707b6d9.201
movzx eax, byte [eax + 0x6707b8f8]
jmp dword [eax*4 + 0x6707b8bc]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x30]
sub edx, ebp
add edx, dword [esp + 0x28]
mov ecx, esi
sub ecx, edi
add dword [esp + 0x18], edx
jmp case.0x6707b6d9.201
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x30]
sub eax, ebp
add eax, dword [esp + 0x28]
mov ecx, esi
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x54]
sub ecx, edi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
jmp case.0x6707b6d9.201
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x2c]
sub ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x30]
sub edx, ebp
add edx, dword [esp + 0x28]
sub ecx, edi
add ecx, esi
add dword [esp + 0x18], edx
jmp case.0x6707b6d9.201
neg edx
mov ecx, edx
jmp case.0x6707b6d9.201
neg edx
mov dword [esp + 0x18], edx
mov ecx, esi
sub ecx, edi
jmp 0x6707b78f
neg edx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x58]
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x54]
sub edx, ebp
add dword [esp + 0x18], edx
cdq
sub eax, edx
mov ecx, esi
sub ecx, edi
sar eax, 1
add ecx, eax
jmp case.0x6707b6d9.201
neg edx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x2c]
sub ecx, dword [esp + 0x54]
sub ecx, edi
add ecx, esi
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x58]
sub eax, ebp
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
add ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
add edi, ecx
cmp esi, edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x80], esi
jl 0x6707b7dd
mov dword [esp + 0x80], edi
cmp edx, ebp
jl 0x6707b7e3
mov edx, ebp
mov eax, dword [esp + 0x54]
add edi, eax
mov eax, dword [esp + 0x2c]
add eax, esi
cmp eax, edi
jg 0x6707b7f5
mov eax, edi
sub eax, dword [esp + 0x80]
mov esi, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x58]
add ebp, eax
mov eax, dword [esp + 0x30]
add eax, esi
cmp eax, ebp
jg 0x6707b814
mov eax, ebp
mov esi, dword [esp + 0x80]
sub eax, edx
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], eax
mov byte [esp + 0x13], bl
je 0x6707b862
mov eax, dword [esp + 0x9c]
mov edi, dword [eax + 0x3c]
mov dword [edx + edi], ecx
mov ecx, dword [eax + 0x3c]
mov edi, dword [esp + 0x18]
mov dword [edx + ecx + 4], edi
jmp 0x6707b884
sub ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x9c]
mov eax, dword [edi + 0x3c]
mov dword [edx + eax], ecx
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x78]
mov ecx, dword [edi + 0x3c]
mov dword [edx + ecx + 4], eax
mov eax, edi
mov edx, dword [eax + 0x38]
mov eax, dword [esp + 0x44]
add dword [esp + 0x20], 2
add dword [esp + 0x40], 8
mov dword [eax + edx], 0
add eax, 4
sub dword [esp + 0x3c], 1
mov dword [esp + 0x44], eax
jne 0x6707b5c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret