Function at 0x63034c10
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x630514ce
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6309ff88]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x20], esi
xor ebp, ebp
push ebp
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QObject::constructor_class_QObject__]
mov ebx, dword [esp + 0x34]
lea ecx, [esi + 8]
mov dword [esi], vtable.QGLEngineSharedShaders.0
push ebx
mov dword [esp + 0x30], ebp
mov dword [ecx], ebp
mov dword [ecx + 4], ebp
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], ebp
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLSharedResourceGuard::setContext_class_QGLContext_const__
mov dword [esi + 0x18], ebp
mov dword [esi + 0x1c], ebp
mov eax, dword [sym.imp.QtCore4.dll_struct_QListData::Data_QListData::shared_null]
mov dword [esi + 0x20], eax
mov ecx, eax
mov edx, 1
lock xadd dword [ecx], edx
cmp byte [0x630a0488], 0
jne 0x63034e76
mov eax, dword [str._n____attribute_highp___vec2______vertexCoordsArray___n____attribute_highp___vec3______pmvMatrix1___n____attribute_highp___vec3______pmvMatrix2___n____attribute_highp___vec3______pmvMatrix3___n____uniform___mediump_vec2______halfViewportSize___n____uniform___highp___vec2______invertedTextureSize___n____uniform___highp___mat3______brushTransform___n____varying___highp___vec2______patternTexCoords___n____void_setPosition_void___n______n________highp_mat3_pmvMatrix__mat3_pmvMatrix1__pmvMatrix2__pmvMatrix3____n________vec3_transformedPos__pmvMatrix__vec3_vertexCoordsArray.xy__1.0____n________gl_Position.xy__transformedPos.xy___transformedPos.z___n________mediump_vec2_viewportCoords___gl_Position.xy__1.0___halfViewportSize___n________mediump_vec3_hTexCoords__brushTransform__vec3_viewportCoords__1.0____n________mediump_float_invertedHTexCoordsZ__1.0___hTexCoords.z___n________gl_Position__vec4_gl_Position.xy__invertedHTexCoordsZ__0.0__invertedHTexCoordsZ____n________patternTexCoords.xy___hTexCoords.xy__0.125___invertedHTexCoordsZ___n_____n]
mov ecx, dword [str._n____attribute_highp___vec2______vertexCoordsArray___n____attribute_highp___vec3______pmvMatrix1___n____attribute_highp___vec3______pmvMatrix2___n____attribute_highp___vec3______pmvMatrix3___n____uniform___mediump_vec2______halfViewportSize___n____uniform___highp___vec3______linearData___n____uniform___highp___mat3______brushTransform___n____varying___mediump_float_____index___n____void_setPosition____n______n________highp_mat3_pmvMatrix__mat3_pmvMatrix1__pmvMatrix2__pmvMatrix3____n________vec3_transformedPos__pmvMatrix__vec3_vertexCoordsArray.xy__1.0____n________gl_Position.xy__transformedPos.xy___transformedPos.z___n________mediump_vec2_viewportCoords___gl_Position.xy__1.0___halfViewportSize___n________mediump_vec3_hTexCoords__brushTransform__vec3_viewportCoords__1____n________mediump_float_invertedHTexCoordsZ__1.0___hTexCoords.z___n________gl_Position__vec4_gl_Position.xy__invertedHTexCoordsZ__0.0__invertedHTexCoordsZ____n________index___dot_linearData.xy__hTexCoords.xy___linearData.z___invertedHTexCoordsZ___n_____n]
mov edx, dword [str._n____attribute_highp___vec2______vertexCoordsArray___n____attribute_highp___vec3______pmvMatrix1___n____attribute_highp___vec3______pmvMatrix2___n____attribute_highp___vec3______pmvMatrix3___n____uniform___mediump_vec2______halfViewportSize___n____uniform___highp___mat3______brushTransform___n____varying___highp___vec2______A___n____void_setPosition_void___n______n________highp_mat3_pmvMatrix__mat3_pmvMatrix1__pmvMatrix2__pmvMatrix3____n________vec3_transformedPos__pmvMatrix__vec3_vertexCoordsArray.xy__1.0____n________gl_Position.xy__transformedPos.xy___transformedPos.z___n________mediump_vec2__viewportCoords___gl_Position.xy__1.0___halfViewportSize___n________mediump_vec3_hTexCoords__brushTransform__vec3_viewportCoords__1____n________mediump_float_invertedHTexCoordsZ__1.0___hTexCoords.z___n________gl_Position__vec4_gl_Position.xy__invertedHTexCoordsZ__0.0__invertedHTexCoordsZ____n________A__hTexCoords.xy__invertedHTexCoordsZ___n_____n]
mov dword [0x630a03d4], eax
mov eax, dword [str._n____attribute_highp___vec2______vertexCoordsArray__n____attribute_highp___vec3______pmvMatrix1___n____attribute_highp___vec3______pmvMatrix2___n____attribute_highp___vec3______pmvMatrix3___n____uniform___mediump_vec2______halfViewportSize___n____uniform___highp___mat3______brushTransform___n____uniform___highp___vec2______fmp___n____varying___highp___float_____b___n____varying___highp___vec2______A___n____void_setPosition_void___n_____n________highp_mat3_pmvMatrix__mat3_pmvMatrix1__pmvMatrix2__pmvMatrix3____n________vec3_transformedPos__pmvMatrix__vec3_vertexCoordsArray.xy__1.0____n________gl_Position.xy__transformedPos.xy___transformedPos.z___n________mediump_vec2_viewportCoords___gl_Position.xy__1.0___halfViewportSize___n________mediump_vec3_hTexCoords__brushTransform__vec3_viewportCoords__1____n________mediump_float_invertedHTexCoordsZ__1.0___hTexCoords.z___n________gl_Position__vec4_gl_Position.xy__invertedHTexCoordsZ__0.0__invertedHTexCoordsZ____n________A__hTexCoords.xy__invertedHTexCoordsZ___n________b__2.0__dot_A__fmp____n_____n]
mov dword [0x630a03d8], ecx
mov ecx, dword [str._n____attribute_highp___vec2______vertexCoordsArray___n____attribute_highp___vec3______pmvMatrix1___n____attribute_highp___vec3______pmvMatrix2___n____attribute_highp___vec3______pmvMatrix3___n____uniform___mediump_vec2______halfViewportSize___n____uniform___highp___vec2______invertedTextureSize___n____uniform___highp___mat3______brushTransform___n____varying___highp___vec2______brushTextureCoords___n____void_setPosition_void___n______n________highp_mat3_pmvMatrix__mat3_pmvMatrix1__pmvMatrix2__pmvMatrix3____n________vec3_transformedPos__pmvMatrix__vec3_vertexCoordsArray.xy__1.0____n________gl_Position.xy__transformedPos.xy___transformedPos.z___n________mediump_vec2_viewportCoords___gl_Position.xy__1.0___halfViewportSize___n________mediump_vec3_hTexCoords__brushTransform__vec3_viewportCoords__1____n________mediump_float_invertedHTexCoordsZ__1.0___hTexCoords.z___n________gl_Position__vec4_gl_Position.xy__invertedHTexCoordsZ__0.0__invertedHTexCoordsZ____n________brushTextureCoords.xy___hTexCoords.xy__invertedTextureSize___gl_Position.w___n_____n]
mov dword [0x630a03e0], eax
mov eax, 0x6307fb43
mov dword [0x630a03a8], 0x6307f7f0
mov dword [0x630a03ac], 0x6307f708
mov dword [0x630a03b0], 0x6307f5a8
mov dword [0x630a03b4], 0x6307f290
mov dword [0x630a03b8], 0x6307f3e0
mov dword [0x630a03bc], 0x6307f320
mov dword [0x630a03c0], 0x6307ee78
mov dword [0x630a03c4], 0x6307e958
mov dword [0x630a03c8], 0x6307e4c0
mov dword [0x630a03cc], 0x6307dec0
mov dword [0x630a03d0], 0x6307d8d8
mov dword [0x630a03dc], edx
mov dword [0x630a03e4], ecx
mov dword [0x630a03e8], 0x6307d0e8
mov dword [0x630a03ec], 0x6307d028
mov dword [0x630a03f0], 0x6307cf58
mov dword [0x630a03f4], 0x6307cec8
mov dword [0x630a03f8], 0x6307cdf8
mov dword [0x630a03fc], 0x6307cd68
mov dword [0x630a0400], 0x6307ccc8
mov dword [0x630a0404], 0x6307cc68
mov dword [0x630a0408], 0x6307d1e8
mov dword [0x630a040c], 0x6307d5c0
mov dword [0x630a0410], 0x6307d3f0
mov dword [0x630a0414], 0x6307d2d8
mov dword [0x630a0418], 0x6307d4f8
mov dword [0x630a041c], 0x6307d678
mov dword [0x630a0420], 0x6307d808
mov dword [0x630a0424], 0x6307d6f0
mov dword [0x630a0428], 0x6307ed68
mov dword [0x630a042c], 0x6307e878
mov dword [0x630a0430], 0x6307dcf8
mov dword [0x630a0434], 0x6307e2e0
mov dword [0x630a0438], 0x6307d280
mov dword [0x630a043c], eax
mov dword [0x630a0440], 0x6307cb70
mov dword [0x630a0444], 0x6307ca78
mov dword [0x630a0448], 0x6307c988
mov dword [0x630a044c], eax
mov dword [0x630a0450], eax
mov dword [0x630a0454], eax
mov dword [0x630a0458], eax
mov dword [0x630a045c], eax
mov dword [0x630a0460], eax
mov dword [0x630a0464], eax
mov dword [0x630a0468], eax
mov dword [0x630a046c], eax
mov dword [0x630a0470], eax
mov dword [0x630a0474], eax
mov dword [0x630a0478], eax
mov dword [0x630a047c], eax
mov byte [0x630a0488], 1
mov eax, dword [sym.imp.QtCore4.dll_struct_QByteArray::Data_QByteArray::shared_null]
mov dword [esp + 0x14], eax
mov edx, 1
lock xadd dword [eax], edx
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 3
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::clear_void_]
mov eax, dword [0x630a03a8]
mov edi, dword [sym.imp.QtCore4.dll_public:_class_QByteArray____thiscall_QByteArray::append_char_const__]
push eax
lea ecx, [esp + 0x18]
call edi
mov ecx, dword [0x630a03b8]
push ecx
lea ecx, [esp + 0x18]
call edi
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2c], 4
cmp eax, ebp
je 0x63034ee7
push esi
push ebx
push ecx
mov ecx, esp
mov dword [ecx], 1
mov ecx, eax
mov dword [esp + 0x24], esp
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShader::constructor_class_QFlags_enum_QGLShader::ShaderTypeBit___class_QGLContext_const___class_QObject__
mov ebx, eax
jmp 0x63034ee9
xor ebx, ebx
lea edx, [esp + 0x14]
push edx
mov ecx, ebx
mov byte [esp + 0x30], 3
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShader::compileSourceCode_class_QByteArray_const__
test al, al
jne 0x63034f0c
push str.Vertex_shader_for_simpleShaderProg__MainVertexShader__PositionOnlyVertexShader__failed_to_compile
call dword [sym.imp.QtCore4.dll_void___cdecl_qWarning_char_const__]
add esp, 4
lea ecx, [esp + 0x14]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::clear_void_]
mov eax, dword [0x630a0404]
push eax
lea ecx, [esp + 0x18]
call edi
mov ecx, dword [0x630a0438]
push ecx
lea ecx, [esp + 0x18]
call edi
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2c], 5
cmp eax, ebp
je 0x63034f62
mov edx, dword [esp + 0x34]
push esi
push edx
push ecx
mov ecx, esp
mov dword [ecx], 2
mov ecx, eax
mov dword [esp + 0x24], esp
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShader::constructor_class_QFlags_enum_QGLShader::ShaderTypeBit___class_QGLContext_const___class_QObject__
mov ebp, eax
lea eax, [esp + 0x14]
push eax
mov ecx, ebp
mov byte [esp + 0x30], 3
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShader::compileSourceCode_class_QByteArray_const__
test al, al
jne 0x63034f85
push str.Fragment_shader_for_simpleShaderProg__MainFragmentShader__ShockingPinkSrcFragmentShader__failed_to_compile
call dword [sym.imp.QtCore4.dll_void___cdecl_qWarning_char_const__]
add esp, 4
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x2c], 6
test eax, eax
je 0x63034fab
mov ecx, dword [esp + 0x34]
push esi
push ecx
mov ecx, eax
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::constructor_class_QGLContext_const___class_QObject__
jmp 0x63034fad
xor eax, eax
push ebx
mov ecx, eax
mov byte [esp + 0x30], 3
mov dword [esi + 0x1c], eax
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShaderProgram::addShader_class_QGLShader__
mov ecx, dword [esi + 0x1c]
push ebp
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShaderProgram::addShader_class_QGLShader__
mov ecx, dword [esi + 0x1c]
push 0
push str.vertexCoordsArray
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::bindAttributeLocation_char_const___int_
mov ecx, dword [esi + 0x1c]
push 3
push str.pmvMatrix1
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::bindAttributeLocation_char_const___int_
mov ecx, dword [esi + 0x1c]
push 4
push str.pmvMatrix2
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::bindAttributeLocation_char_const___int_
mov ecx, dword [esi + 0x1c]
push 5
push str.pmvMatrix3
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::bindAttributeLocation_char_const___int_
mov ecx, dword [esi + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
call eax
mov ecx, dword [esi + 0x1c]
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShaderProgram::isLinked_void_const
test al, al
jne 0x63035084
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esi + 0x1c]
call sym.QtOpenGL4.dll_public:_class_QString___thiscall_QGLShaderProgram::log_void_
mov ebp, eax
lea edx, [esp + 0x1c]
mov bl, 7
push edx
mov byte [esp + 0x30], bl
call dword [sym.imp.QtCore4.dll_class_QDebug___cdecl_qCritical_void_]
add esp, 4
push ebp
push str.Errors_linking_simple_shader:
mov ecx, eax
mov byte [esp + 0x34], 8
call dword [sym.imp.QtCore4.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_class_QDebug____thiscall_QDebug::operator___class_QString_const__]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c], bl
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QDebug::destructor_void_]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x2c], 3
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x63035084
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
lea ecx, [esp + 0x14]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::clear_void_]
mov eax, dword [0x630a03ac]
push eax
lea ecx, [esp + 0x18]
call edi
mov ecx, dword [0x630a03b4]
push ecx
lea ecx, [esp + 0x18]
call edi
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x34]
mov byte [esp + 0x2c], 9
test eax, eax
je 0x630350dc
push esi
push ebp
push ecx
mov ecx, esp
mov dword [ecx], 1
mov ecx, eax
mov dword [esp + 0x40], esp
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShader::constructor_class_QFlags_enum_QGLShader::ShaderTypeBit___class_QGLContext_const___class_QObject__
mov ebx, eax
jmp 0x630350de
xor ebx, ebx
lea edx, [esp + 0x14]
push edx
mov ecx, ebx
mov byte [esp + 0x30], 3
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShader::compileSourceCode_class_QByteArray_const__
test al, al
jne 0x63035101
push str.Vertex_shader_for_blitShaderProg__MainWithTexCoordsVertexShader__UntransformedPositionVertexShader__failed_to_compile
call dword [sym.imp.QtCore4.dll_void___cdecl_qWarning_char_const__]
add esp, 4
lea ecx, [esp + 0x14]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QByteArray::clear_void_]
mov eax, dword [0x630a0404]
push eax
lea ecx, [esp + 0x18]
call edi
mov ecx, dword [0x630a040c]
push ecx
lea ecx, [esp + 0x18]
call edi
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0x2c], 0xa
test eax, eax
je 0x63035155
push esi
push ebp
push ecx
mov ecx, esp
mov dword [ecx], 2
mov ecx, eax
mov dword [esp + 0x28], esp
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShader::constructor_class_QFlags_enum_QGLShader::ShaderTypeBit___class_QGLContext_const___class_QObject__
mov edi, eax
jmp 0x63035157
xor edi, edi
lea edx, [esp + 0x14]
push edx
mov ecx, edi
mov byte [esp + 0x30], 3
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShader::compileSourceCode_class_QByteArray_const__
test al, al
jne 0x6303517a
push str.Fragment_shader_for_blitShaderProg__MainFragmentShader__ImageSrcFragmentShader__failed_to_compile
call dword [sym.imp.QtCore4.dll_void___cdecl_qWarning_char_const__]
add esp, 4
push 8
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x34], eax
mov byte [esp + 0x2c], 0xb
test eax, eax
je 0x6303519c
push esi
push ebp
mov ecx, eax
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::constructor_class_QGLContext_const___class_QObject__
jmp 0x6303519e
xor eax, eax
push ebx
mov ecx, eax
mov byte [esp + 0x30], 3
mov dword [esi + 0x18], eax
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShaderProgram::addShader_class_QGLShader__
mov ecx, dword [esi + 0x18]
push edi
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShaderProgram::addShader_class_QGLShader__
mov ecx, dword [esi + 0x18]
push 1
push str.textureCoordArray
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::bindAttributeLocation_char_const___int_
mov ecx, dword [esi + 0x18]
push 0
push str.vertexCoordsArray
call sym.QtOpenGL4.dll_public:_void___thiscall_QGLShaderProgram::bindAttributeLocation_char_const___int_
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
call edx
mov ecx, dword [esi + 0x18]
call sym.QtOpenGL4.dll_public:_bool___thiscall_QGLShaderProgram::isLinked_void_const
test al, al
jne 0x63035257
mov ecx, dword [esi + 0x1c]
lea eax, [esp + 0x34]
push eax
call sym.QtOpenGL4.dll_public:_class_QString___thiscall_QGLShaderProgram::log_void_
mov edi, eax
lea ecx, [esp + 0x1c]
mov bl, 0xc
push ecx
mov byte [esp + 0x30], bl
call dword [sym.imp.QtCore4.dll_class_QDebug___cdecl_qCritical_void_]
add esp, 4
push edi
push 0x6307f904
mov ecx, eax
mov byte [esp + 0x34], 0xd
call dword [sym.imp.QtCore4.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_class_QDebug____thiscall_QDebug::operator___class_QString_const__]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2c], bl
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QDebug::destructor_void_]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x2c], 3
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x63035257
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
mov edx, dword [esp + 0x14]
mov byte [esp + 0x2c], 2
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x63035277
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4