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

Disassembly:
sub esp, 0x8c
mov eax, dword [0x1011a204]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
mov ebx, dword [esp + 0xa0]
push ebp
mov ebp, ecx
mov dword [esp + 0x34], ebp
push esi
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x34], esi
push edi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x40], edi
test ebx, ebx
jne 0x1006c2e6
mov eax, dword [ebp + 0xbc]
mov ebx, 1
test eax, eax
cmovne ebx, eax
mov dword [esp + 0xac], ebx
test edi, edi
je 0x1006c34c
push dword [esp + 0xa8]
mov ecx, edi
push esi
call fcn.1006b7a0
mov dword [esp + 0x54], eax
test eax, eax
je 0x1006c322
movsx ecx, byte [eax + 0xc]
cmp ecx, ebx
jne 0x1006c352
cmp byte [esp + 0xb0], 0
jne 0x1006cd49
cmp dword [eax + 0x10], 0
je 0x1006c352
jmp 0x1006cd49
lea ecx, [edi + 0x18]
mov dword [esp + 0x2c], esi
mov edi, dword [ecx]
xor eax, eax
cmp dword [edi + 0x18], eax
je 0x1006c337
mov eax, dword [edi + 0x1c]
xor eax, esi
push eax
lea eax, [esp + 0x30]
push eax
call fcn.1000e870
cmp dword [eax], edi
jne 0x1006c54d
jmp 0x1006c352
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xa0]
xor ecx, ecx
cmp ebx, 1
mov edi, dword [eax]
movups xmm0, xmmword [eax + 0xc]
mov eax, dword [esp + 0xa8]
cmove eax, ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x60], ecx
push eax
push edi
movups xmmword [esp + 0x94], xmm0
call fcn.10072be0
add esp, 0xc
mov byte [esp + 0x1b], 0
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
mov ecx, ebp
push eax
lea eax, [esp + 0x1f]
push eax
push 0
push ebx
push dword [esp + 0x50]
call fcn.1006c1e0
cmp dword [esp + 0x88], 0x10000
mov ebx, eax
jne 0x1006c426
cmp dword [esp + 0x94], 0x10000
jne 0x1006c426
cmp dword [esp + 0x8c], 0
jne 0x1006c426
cmp dword [esp + 0x90], 0
jne 0x1006c426
cmp byte [ebp + 0xaf], 0
mov byte [esp + 0x22], 0
jne 0x1006c42b
cmp dword [esp + 0xac], 1
je 0x1006c42e
mov eax, dword [ebp + 0xa0]
mov eax, dword [eax]
mov eax, dword [eax + 8]
test al, 1
jne 0x1006c41e
test eax, 0x4000
je 0x1006c41e
mov al, 1
jmp 0x1006c420
xor al, al
test al, al
jne 0x1006c42e
jmp 0x1006c42b
mov byte [esp + 0x22], 1
or ebx, 8
push ebx
push esi
push edi
call fcn.1006fb90
mov esi, eax
add esp, 0xc
test esi, esi
je 0x1006c457
test bl, 8
je 0x1006c457
and ebx, 0xfffffff7
push ebx
push dword [esp + 0x3c]
push edi
call fcn.1006fb90
add esp, 0xc
mov esi, eax
cmp esi, 0x81
jne 0x1006c475
or ebx, 0x20
push ebx
mov ebx, dword [esp + 0x3c]
push ebx
push edi
call fcn.1006fb90
add esp, 0xc
mov esi, eax
jmp 0x1006c4ba
cmp esi, 0x8b
jne 0x1006c4b6
push 0
push 0
push 0
lea ecx, [esp + 0x6c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
push str.load_glyph_failed_due_to_broken_hinting_bytecode_in_font__switching_to_auto_hinting
push eax
call dword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::warning_char_const__const]
or dword [ebp + 0xa4], 0x20
or ebx, 0x20
push ebx
mov ebx, dword [esp + 0x44]
push ebx
push edi
call fcn.1006fb90
add esp, 0x14
mov esi, eax
jmp 0x1006c4ba
mov ebx, dword [esp + 0x38]
test esi, esi
je 0x1006c557
push 0
push 0
push 0
lea ecx, [esp + 0x6c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
push ebx
push edi
push esi
push str.load_glyph_failed_err_x_face_p__glyph_d
push eax
call dword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::warning_char_const__const]
mov eax, dword [esp + 0x54]
add esp, 0x14
test eax, eax
je 0x1006c54d
lea esi, [eax + 0x18]
mov dword [esp + 0x30], ebx
mov ecx, esi
call fcn.1006ad70
mov eax, dword [esi]
mov ecx, esi
mov edi, dword [eax + 0x1c]
lea eax, [esp + 0x30]
xor edi, ebx
push edi
push eax
call fcn.1000e870
mov ecx, dword [esi]
mov ebp, eax
cmp dword [ebp], ecx
jne 0x1006c54d
call dword [sym.imp.Qt5Core.dll_public:_bool___thiscall_QHashData::willGrow_void_]
test al, al
je 0x1006c530
push edi
lea eax, [esp + 0x34]
mov ecx, esi
push eax
call fcn.1000e870
mov ebp, eax
mov ecx, dword [esi]
push 4
call dword [sym.imp.Qt5Core.dll_public:_void____thiscall_QHashData::allocateNode_int_]
mov ecx, dword [ebp]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
mov dword [ebp], eax
mov eax, dword [esi]
inc dword [eax + 0xc]
mov eax, 0x1011f4a0
jmp 0x1006cd49
cmp byte [ebp + 0xae], 0
mov ebx, dword [edi + 0x54]
mov dword [esp + 0x24], ebx
je 0x1006c570
push ebx
call fcn.10077080
add esp, 4
cmp byte [ebp + 0xaf], 0
je 0x1006c5c2
push ebx
call fcn.10077180
lea eax, [esp + 0x8c]
mov byte [esp + 0x26], 1
push eax
lea eax, [esp + 0x7c]
mov dword [esp + 0x7c], 0x10000
push eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0x6000
mov dword [esp + 0x8c], 0x10000
call fcn.10070560
add esp, 0xc
mov eax, dword [ebx + 0x38]
sar eax, 0xa
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x40]
add eax, 0x20
sar eax, 6
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1006c5f1
cmp byte [eax + 0x10], 0
je 0x1006c5f1
cmp byte [esp + 0xb4], 0
je case.default.0x1006c80a
cmp byte [esp + 0xb0], 0
je 0x1006c7ec
mov ebp, dword [ebx + 0x24]
mov ecx, ebp
mov edx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x18]
sub ecx, dword [ebx + 0x1c]
add esi, edx
cmp byte [esp + 0x22], 0
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], ecx
je 0x1006c740
cmp dword [ebx + 0x48], 0x62697473
je 0x1006c740
lea eax, [esp + 0x88]
mov dword [esp + 0x74], edx
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x7c], ebp
push eax
call fcn.100738e0
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0x80]
mov dword [esp + 0x84], ebp
push eax
call fcn.100738e0
mov eax, dword [esp + 0x84]
mov edi, esi
cmp esi, eax
mov ebp, ebx
cmovg edi, eax
cmovl esi, eax
mov eax, dword [esp + 0x88]
cmp ebx, eax
cmovl ebp, eax
cmovg ebx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x88], eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.100738e0
mov eax, dword [esp + 0x8c]
cmp edi, eax
mov dword [esp + 0x28], esi
cmovg edi, eax
cmp esi, eax
cmovl esi, eax
mov eax, dword [esp + 0x90]
cmp ebp, eax
cmovl ebp, eax
cmp ebx, eax
cmovg ebx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.100738e0
mov eax, dword [esp + 0x94]
add esp, 0x20
cmp edi, eax
mov edx, edi
mov ecx, ebx
cmovg edx, eax
cmp esi, eax
cmovl esi, eax
mov eax, dword [esp + 0x78]
cmp ebp, eax
cmovl ebp, eax
cmp ebx, eax
cmovg ecx, eax
add ebp, 0x3f
and edx, 0xffffffc0
add esi, 0x3f
and ecx, 0xffffffc0
mov ebx, ebp
sub esi, edx
sub ebp, ecx
sar esi, 6
mov edi, edx
sar ebp, 6
movzx eax, si
mov edx, 0xff
sar edi, 6
sar ebx, 6
movzx ebp, bp
mov dword [esp + 0x2c], eax
mov ecx, ebp
cmp ax, dx
ja 0x1006c77f
cmp cx, dx
ja 0x1006c77f
xor al, al
jmp 0x1006c781
mov al, 1
test al, al
jne 0x1006cd47
push 0x14
call fcn.100d42ee
mov cx, word [esp + 0x64]
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 4
mov word [esi + 2], ax
mov eax, dword [esp + 0xac]
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x40]
mov word [esi + 6], di
mov edi, dword [esp + 0x1c]
mov dword [esi + 0x10], 0
mov word [esi], cx
mov word [esi + 4], bp
mov word [esi + 8], bx
mov word [esi + 0xa], di
test eax, eax
je 0x1006c7e5
push esi
push dword [esp + 0xac]
mov ecx, eax
push dword [esp + 0x40]
call fcn.1006e040
mov eax, esi
jmp 0x1006cd49
xor eax, eax
xor esi, esi
cmp dword [ebp + 0xa8], 1
mov dword [esp + 0x34], esi
sete al
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xac]
dec eax
jmp dword [eax*4 + 0x1006cd64]
mov edi, 2
jmp 0x1006c82c
push dword [ebp + 0xb4]
push dword [ebx]
call fcn.1006fa40
push edi
push ebx
call fcn.100721e0
mov edi, eax
add esp, 0x10
test edi, edi
je 0x1006c874
push 0
push 0
push 0
lea ecx, [esp + 0x80]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
push dword [esp + 0x38]
push dword [esp + 0x30]
push edi
push str.render_glyph_failed_err_x_face_p__glyph_d
push eax
call dword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::warning_char_const__const]
add esp, 0x14
push 0
push dword [ebx]
call fcn.1006fa40
mov ax, word [ebx + 0x64]
add esp, 8
movzx edx, word [ebx + 0x4c]
movzx ebp, word [ebx + 0x50]
mov word [esp + 0x22], ax
mov ax, word [ebx + 0x68]
mov word [esp + 0x4a], ax
mov al, byte [ebx + 0x5e]
mov dword [esp + 0x30], edx
movzx edi, dx
mov dword [esp + 0x2c], ebp
movzx ecx, bp
cmp al, 5
jne 0x1006c8c6
mov eax, 0xaaaaaaab
mul ecx
mov al, byte [ebx + 0x5e]
shr edx, 1
mov bp, dx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2c], ebp
mov ecx, edi
cmp al, 6
jne 0x1006c8da
mov eax, ecx
cdq
idiv dword [esp + 0x10]
mov dx, ax
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0xac]
movzx ebp, bp
cmp eax, 1
jne 0x1006c8f4
lea ecx, [ebp + 0x1f]
shr ecx, 3
and ecx, 0xfffffffc
jmp 0x1006c908
cmp eax, 2
jne 0x1006c901
lea ecx, [ebp + 3]
and ecx, 0xfffffffc
jmp 0x1006c908
lea ecx, [ebp*4]
movzx edi, dx
mov eax, edi
mov dword [esp + 0x28], ecx
imul eax, ecx
push eax
call fcn.100d4938
add esp, 4
test eax, eax
je 0x1006c931
mov esi, eax
push 0
mov dword [esp + 0x38], esi
call fcn.100d4941
add esp, 4
mov al, byte [ebx + 0x5e]
cmp al, 1
jne 0x1006ca45
mov eax, dword [esp + 0x24]
mov edi, esi
mov ebx, dword [ebx + 0x58]
mov dword [esp + 0x14], edi
mov edx, dword [eax + 0x4c]
mov eax, dword [esp + 0xac]
cmp eax, 1
jne 0x1006c994
add ebp, 7
shr ebp, 3
test edx, edx
je 0x1006cc8f
mov esi, dword [esp + 0x24]
nop word [eax + eax]
push ebp
dec edx
push ebx
push edi
mov dword [esp + 0x1c], edx
call sub.VCRUNTIME140.dll_memcpy
add edi, dword [esp + 0x34]
add esp, 0xc
add ebx, dword [esi + 0x54]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x1006c970
jmp 0x1006cc8b
test edx, edx
je 0x1006cc8f
cmp eax, 2
jne 0x1006c9e4
mov esi, dword [esp + 0x24]
dec edx
xor eax, eax
mov dword [esp + 0x10], edx
test ebp, ebp
je 0x1006c9d4
mov ecx, eax
mov edx, 0x80
and ecx, 7
sar edx, cl
mov ecx, eax
sar ecx, 3
and dl, byte [ecx + ebx]
neg dl
sbb dl, dl
mov byte [eax + edi], dl
inc eax
cmp eax, ebp
jl 0x1006c9b0
mov edx, dword [esp + 0x10]
add edi, dword [esp + 0x28]
add ebx, dword [esi + 0x54]
test edx, edx
jne 0x1006c9a5
jmp 0x1006cc8b
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
dec edx
xor edi, edi
mov dword [esp + 0x10], edx
test ebp, ebp
je 0x1006ca33
mov esi, dword [esp + 0x14]
nop
mov eax, edi
mov ecx, edi
sar eax, 3
and ecx, 7
mov edx, 0x80
sar edx, cl
and dl, byte [eax + ebx]
movzx eax, dl
neg eax
sbb eax, eax
mov dword [esi + edi*4], eax
inc edi
cmp edi, ebp
jl 0x1006ca00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
add ebx, dword [ecx + 0x54]
add eax, esi
mov dword [esp + 0x14], eax
test edx, edx
jne 0x1006c9f0
jmp 0x1006cc8b
cmp al, 7
jne 0x1006ca88
mov edi, dword [ebx + 0x4c]
mov ebp, dword [ebx + 0x58]
mov dword [esp + 0x3c], esi
test edi, edi
je 0x1006ca77
mov eax, dword [ebx + 0x50]
shl eax, 2
push eax
push ebp
push esi
call sub.VCRUNTIME140.dll_memcpy
add esi, dword [ebx + 0x54]
add esp, 0xc
add ebp, dword [ebx + 0x54]
sub edi, 1
jne 0x1006ca57
mov esi, dword [esp + 0x34]
movzx eax, word [ebx + 0x50]
mov di, ax
cwde
mov dword [esp + 0x60], eax
jmp 0x1006cc93
cmp al, 2
jne 0x1006cad2
mov edi, dword [ebx + 0x4c]
mov ecx, esi
mov eax, dword [ebx + 0x58]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
test edi, edi
je 0x1006cc8f
mov esi, dword [esp + 0x28]
push ebp
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x10]
add ecx, esi
add eax, dword [ebx + 0x54]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
sub edi, 1
jne 0x1006caa8
jmp 0x1006cc8b
cmp al, 5
jne 0x1006cbcd
mov eax, dword [ebx + 0x54]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebx + 0x58]
mov ebx, esi
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x44], ebx
cmp dword [ecx + 0xb0], 1
sete al
lea eax, [eax*2 - 1]
mov dword [esp + 0x24], eax
lea eax, [ebp*2]
add eax, ebp
mov dword [esp + 0x4c], eax
test edi, edi
je 0x1006cc8f
lea ecx, [ebp*4]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
lea ecx, [edx + 1]
sub edx, dword [esp + 0x24]
inc edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x3c], edx
nop dword [eax]
dec edi
mov esi, ebx
xor ebx, ebx
mov dword [esp + 0x10], edi
test eax, eax
je 0x1006cba8
mov ebp, edx
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x50], edx
nop dword [eax]
movzx edi, byte [ebp]
lea esi, [esi + 4]
mov cl, byte [ebx + ecx]
lea ebp, [ebp + 3]
mov dl, byte [ebx + edx]
or edi, 0xffffff00
shl edi, 8
add ebx, 3
movzx eax, cl
mov ecx, dword [esp + 0x14]
or edi, eax
movzx eax, dl
mov edx, dword [esp + 0x50]
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x4c]
mov dword [esi - 4], edi
cmp ebx, eax
jl 0x1006cb60
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
add edx, ebp
add ebx, dword [esp + 0x74]
add ecx, ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], ecx
test edi, edi
jne 0x1006cb40
jmp 0x1006cc8b
cmp al, 6
jne 0x1006cd1d
mov edx, dword [ebx + 0x54]
mov ecx, edx
mov eax, dword [ebx + 0x58]
neg ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], esi
cmp dword [ecx + 0xb0], 3
mov ecx, dword [esp + 0x14]
cmove ecx, edx
mov dword [esp + 0x14], ecx
test edi, edi
je 0x1006cc8f
nop dword [eax]
dec edi
xor ebx, ebx
mov dword [esp + 0x10], edi
test ebp, ebp
je 0x1006cc7e
mov esi, eax
sub esi, ecx
lea ecx, [eax + edx]
add eax, dword [esp + 0x14]
add esi, edx
add edx, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x50], edx
movzx edi, byte [esi]
lea esi, [esi + 1]
mov cl, byte [ebx + ecx]
or edi, 0xffffff00
mov dl, byte [ebx + edx]
inc ebx
shl edi, 8
movzx eax, cl
mov ecx, dword [esp + 0x74]
or edi, eax
movzx eax, dl
mov edx, dword [esp + 0x50]
shl edi, 8
or edi, eax
mov eax, dword [esp + 0x44]
mov dword [eax], edi
add eax, 4
mov dword [esp + 0x44], eax
cmp ebx, ebp
jl 0x1006cc32
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x14]
lea ebx, [edx + edx*2]
add eax, ebx
mov dword [esp + 0x24], eax
test edi, edi
jne 0x1006cc10
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x54]
test ebx, ebx
jne 0x1006ccae
push 0x14
call fcn.100d42ee
mov ebx, eax
add esp, 4
mov dword [ebx + 0x10], 0
movzx eax, word [esp + 0x60]
push dword [ebx + 0x10]
mov word [ebx], ax
mov eax, dword [esp + 0x30]
mov word [ebx + 2], ax
mov eax, dword [esp + 0x34]
mov word [ebx + 4], ax
mov ax, word [esp + 0x26]
mov word [ebx + 6], ax
mov ax, word [esp + 0x4e]
mov word [ebx + 8], ax
mov eax, dword [esp + 0xb0]
mov word [ebx + 0xa], di
mov byte [ebx + 0xc], al
call fcn.100d4941
mov eax, dword [esp + 0x44]
add esp, 4
mov dword [ebx + 0x10], esi
test eax, eax
je 0x1006cd0f
push ebx
push dword [esp + 0xac]
mov ecx, eax
push dword [esp + 0x40]
call fcn.1006e040
push 0
call fcn.100d4941
add esp, 4
mov eax, ebx
jmp 0x1006cd49
push 0
push 0
push 0
lea ecx, [esp + 0x6c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
movzx ecx, byte [ebx + 0x5e]
push ecx
push str.QFontEngine:_Glyph_rendered_in_unknown_pixel_mode_d
push eax
call dword [sym.imp.Qt5Core.dll_public:_void___cdecl_QMessageLogger::warning_char_const__const]
push esi
call fcn.100d4941
add esp, 0x10
xor eax, eax
mov ecx, dword [esp + 0x98]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100d4904
add esp, 0x8c
ret 0x18