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

Disassembly:
push 0xffffffffffffffff
push 0x5978b0
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6a3b20]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x70]
mov ecx, edi
call fcn.0052b240
test al, al
je 0x4d9f39
mov ecx, edi
call fcn.0052b2c0
mov ebp, dword [esi + 0x54]
mov ebx, dword [ebp + 8]
lea ecx, [esi + 0x54]
mov edi, eax
mov eax, ebx
and eax, 0x7fffffff
xor edx, edx
mov dword [esp + 0x1c], edi
cmp edi, eax
jg 0x4d9e14
test ebx, ebx
js 0x4d9e1b
cmp edi, dword [ebp + 4]
jge 0x4d9e1b
mov ebx, eax
sar ebx, 1
cmp edi, ebx
jge 0x4d9e1b
mov edx, 8
mov eax, edi
push edx
push eax
push edi
call fcn.00420150
mov ebp, dword [esi + 0x58]
mov edx, dword [ebp + 8]
mov eax, edx
and eax, 0x7fffffff
xor ecx, ecx
cmp edi, eax
jg 0x4d9e47
test edx, edx
js 0x4d9e4e
cmp edi, dword [ebp + 4]
jge 0x4d9e4e
mov edx, eax
sar edx, 1
cmp edi, edx
jge 0x4d9e4e
mov ecx, 8
mov eax, edi
push ecx
push eax
push edi
lea ecx, [esi + 0x58]
call fcn.00451160
mov eax, dword [esi + 0x5c]
mov edx, dword [eax + 8]
lea ebp, [esi + 0x5c]
mov eax, edx
and eax, 0x7fffffff
xor ecx, ecx
cmp edi, eax
jg 0x4d9e83
test edx, edx
js 0x4d9e8a
mov edx, dword [ebp]
cmp edi, dword [edx + 4]
jge 0x4d9e8a
mov edx, eax
sar edx, 1
cmp edi, edx
jge 0x4d9e8a
mov ecx, 8
mov eax, edi
push ecx
push eax
push edi
mov ecx, ebp
call fcn.00451160
mov ecx, dword [ebp]
mov eax, dword [ecx + 0xc]
mov edx, dword [esi + 0x58]
add eax, ecx
mov ecx, dword [edx + 0xc]
add ecx, edx
mov edx, dword [esi + 0x54]
lea ebx, [esi + 0x78]
push ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x1c], edx
mov edx, dword [edx + 0xc]
add edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push ebx
call fcn.004cb9f0
add esp, 0x14
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
test al, al
jne 0x4d9f40
push ebx
call fcn.0052be60
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x42c
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x60]
mov dword [esp + 0x7c], 0
call dword [0x5a7720]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x54]
call fcn.0051b5d0
mov byte [esp + 0x6c], 1
push str.No_OpenGL_support_for
mov ecx, eax
call fcn.004d23d0
mov ecx, eax
mov byte [esp + 0x6c], 2
call fcn.004d5520
lea ecx, [esp + 0x40]
mov dword [esp + 0x68], 0xffffffff
call fcn.0051aee0
xor al, al
jmp 0x4da498
lea eax, [esi + 0x54]
push eax
call fcn.00420050
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x42f
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x60]
mov dword [esp + 0x7c], 3
call dword [0x5a7720]
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x54]
call fcn.0051b490
mov byte [esp + 0x6c], 4
push str.texture_internal_format:
mov ecx, eax
call fcn.004d23d0
mov ecx, eax
mov byte [esp + 0x6c], 5
call fcn.004d9290
lea ecx, [esp + 0x40]
mov dword [esp + 0x68], 0xffffffff
call fcn.0051aee0
push ecx
lea eax, [esi + 0x58]
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
call fcn.0044dce0
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x430
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x60]
mov dword [esp + 0x7c], 6
call dword [0x5a7720]
lea edx, [esp + 0x44]
push edx
lea ecx, [esp + 0x54]
call fcn.0051b490
mov byte [esp + 0x6c], 7
push str.texture_data_format:
mov ecx, eax
call fcn.004d23d0
mov ecx, eax
mov byte [esp + 0x6c], 8
call fcn.004d9410
lea ecx, [esp + 0x40]
mov dword [esp + 0x68], 0xffffffff
call fcn.0051aee0
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push ebp
call fcn.0044dce0
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x431
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x60]
mov dword [esp + 0x7c], 9
call dword [0x5a7720]
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x54]
call fcn.0051b490
mov byte [esp + 0x6c], 0xa
push str.texture_data_type:
mov ecx, eax
call fcn.004d23d0
mov byte [esp + 0x6c], 0xb
mov ecx, eax
call fcn.004d9410
lea ecx, [esp + 0x40]
mov dword [esp + 0x68], 0xffffffff
call fcn.0051aee0
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x432
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x5c]
call dword [0x5a7720]
mov ecx, ebx
call fcn.0052b300
push eax
mov ecx, ebx
call fcn.0052b2f0
push eax
lea ecx, [esp + 0x54]
push str.___________bpp__d__bpc:__d
push ecx
call fcn.0051a710
xor ebp, ebp
add esp, 0x10
mov dword [esp + 0x18], ebp
test edi, edi
jle 0x4da2cf
lea edi, [esi + 0x40]
jmp 0x4da0e4
mov ebp, dword [esp + 0x18]
lea ecx, [esi + 0x5c]
lea ebx, [ebp*4]
call fcn.0046ce70
mov ecx, dword [esp + 0x14]
add ecx, 0x58
mov esi, eax
call fcn.0046ce70
mov edx, dword [esi + ebx]
mov eax, dword [eax + ebx]
push edx
push eax
call fcn.004cad40
add esp, 8
mov ecx, edi
mov dword [esp + 0x70], eax
lea esi, [ebp*8]
call fcn.004d84d0
mov ecx, dword [esp + 0x14]
mov ebp, dword [eax + esi]
add ecx, 0x44
call fcn.0046ce00
fild dword [esp + 0x70]
sub ebp, dword [eax + ebx]
sub esp, 8
fst qword [esp + 0x48]
mov dword [esp + 0x28], ebp
fild dword [esp + 0x28]
fdivrp st(1)
fstp qword [esp]
call dword [0x5a7150]
add esp, 8
call fcn.00580800
mov ecx, edi
mov dword [esp + 0x24], eax
call fcn.004d84d0
mov ecx, dword [eax + esi]
mov dword [esp + 0x20], ecx
mov ecx, edi
call fcn.004d84d0
fild dword [esp + 0x20]
sub esp, 8
mov ebp, eax
fdiv qword [esp + 0x48]
fstp qword [esp]
call dword [0x5a7150]
add esp, 8
call fcn.00580800
mov dword [ebp + esi], eax
mov ebp, dword [esp + 0x14]
lea ecx, [ebp + 0x44]
call fcn.0046ce00
lea ecx, [eax + ebx]
mov eax, dword [ecx]
cdq
idiv dword [esp + 0x70]
mov dword [ecx], eax
mov ecx, edi
call fcn.004d84d0
mov edx, dword [eax + esi + 4]
mov ecx, edi
mov dword [esp + 0x20], edx
call fcn.004d84d0
fild dword [eax + esi]
mov ecx, ebp
add ecx, 0xc0
fstp dword [esp + 0x28]
fild dword [esp + 0x20]
fstp dword [esp + 0x2c]
call fcn.004d85b0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [eax + esi], ecx
lea ecx, [ebp + 0x44]
mov dword [eax + esi + 4], edx
call fcn.0046ce00
mov ecx, edi
lea ebp, [ebx + eax]
call fcn.004d84d0
mov ebx, dword [eax + esi]
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x43a
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x5c]
call dword [0x5a7720]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp]
push eax
push ecx
push edx
push ebx
lea eax, [esp + 0x5c]
push str.texture_width:__d____d__pad:__d._bpp_gl_:__d
push eax
call fcn.0051a710
mov ebx, dword [esp + 0x2c]
add esp, 0x18
cmp dword [ebx + 0x50], 0x84f5
jne 0x4da26f
fld1
lea ecx, [ebx + 0xbc]
fst dword [esp + 0x30]
fstp dword [esp + 0x34]
call fcn.004d85b0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
jmp 0x4da2af
mov ecx, edi
call fcn.004d84d0
mov eax, dword [eax + esi + 4]
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.004d84d0
fild dword [eax + esi]
fld1
lea ecx, [ebx + 0xbc]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x38]
fidiv dword [esp + 0x70]
fstp dword [esp + 0x3c]
call fcn.004d85b0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [eax + esi + 4], edx
mov dword [eax + esi], ecx
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
mov esi, ebx
cmp eax, dword [esp + 0x1c]
jl 0x4da0e0
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 4]
lea ebp, [esi + 0x38]
cmp eax, edi
jle 0x4da45d
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
sub eax, edi
push 0x44c
mov ebx, eax
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x5c]
mov dword [esp + 0x34], ebx
call dword [0x5a7720]
push ebx
lea ecx, [esp + 0x50]
push str.try_to_delete__d_textures
push ecx
call fcn.0051a710
mov edx, dword [ebp]
add esp, 0xc
cmp dword [edx + 4], 0
je 0x4da42a
mov dword [esp + 0x70], 0
test ebx, ebx
jle 0x4da42a
lea eax, [edi*4]
lea ebx, [esi + 0x3c]
mov dword [esp + 0x18], eax
mov ecx, dword [ebp]
mov eax, dword [ecx]
cmp eax, 1
je 0x4da396
test eax, eax
je 0x4da396
test dword [ecx + 8], 0x7fffffff
jne 0x4da375
mov eax, 2
push eax
push 0
push 4
push 4
call dword [0x5a7a78]
add esp, 0x10
mov dword [ebp], eax
jmp 0x4da396
push ecx
mov eax, esp
mov dword [eax], 0
mov eax, dword [ebp]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
and ecx, 0x7fffffff
push ecx
push edx
mov ecx, ebp
call fcn.00451160
mov eax, dword [ebp]
mov esi, dword [eax + 0xc]
add esi, dword [esp + 0x18]
push str.default
push str.bool___thiscall_FAV::VideoMaterialPrivate::updateTextureParameters_const_class_FAV::VideoFormat__
push 0x450
push str..._favopenglVideoShader.cpp
lea ecx, [esp + 0x5c]
add esi, eax
call dword [0x5a7720]
push esi
mov ecx, ebx
call fcn.004d83d0
movzx eax, byte [eax]
mov ecx, dword [esi]
mov edx, dword [esp + 0x70]
push eax
push ecx
add edx, edi
push edx
lea eax, [esp + 0x58]
push str.try_to_delete_texture__d_:__u._can_delete:__d
push eax
call fcn.0051a710
add esp, 0x14
push esi
mov ecx, ebx
call fcn.004d83d0
cmp byte [eax], 0
je 0x4da40e
push esi
push 1
call dword [0x5a81ac]
mov ecx, eax
call dword [0x5a81c0]
mov ecx, eax
call dword [0x5a8234]
mov eax, dword [esp + 0x70]
add dword [esp + 0x18], 4
inc eax
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x24]
jl 0x4da344
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x3c]
mov edx, dword [0x5a79e0]
lea eax, [ecx + 8]
mov dword [esi + 0x3c], edx
mov edx, dword [eax]
test edx, edx
je 0x4da452
cmp edx, 0xffffffff
je 0x4da45d
or edx, 0xffffffff
lock xadd dword [eax], edx
setne al
test al, al
jne 0x4da45d
push 0x4d5750
call dword [0x5a7994]
mov ebx, dword [ebp]
mov edx, dword [ebx + 8]
mov eax, edx
and eax, 0x7fffffff
xor ecx, ecx
cmp edi, eax
jg 0x4da481
test edx, edx
js 0x4da488
cmp edi, dword [ebx + 4]
jge 0x4da488
mov edx, eax
sar edx, 1
cmp edi, edx
jge 0x4da488
mov ecx, 8
mov eax, edi
push ecx
push eax
push edi
mov ecx, ebp
call fcn.00451160
mov byte [esi + 9], 1
mov al, 1
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4