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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
cmp byte [0x1020c8fd], 0
je 0x10077d11
mov ecx, dword [esp + 0x90]
xor esi, esi
mov eax, dword [ecx + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x1d], esi
mov dword [esp + 0x19], esi
mov dword [esp + 0x24], ecx
mov ebx, dword [ecx + 0x5c]
sub ebx, dword [ecx + 0x58]
mov edi, ebx
sar edi, 2
test ebx, ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
je 0x100777a1
cmp edi, sym.libGLESv2.dll_Ordinal_0
jae 0x10077d19
call fcn.1006c7f8
shl ebx, 2
mov ecx, eax
push 4
push ebx
call fcn.10043e4c
shl edi, 4
mov dword [esp + 0x30], eax
add edi, eax
mov dword [esp + 0x38], edi
push ebx
push 0
push eax
call fcn.1019fc10
add esp, 0xc
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x90]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], esi
mov ecx, dword [eax + 0x44]
mov eax, dword [eax + 0x48]
cmp ecx, eax
mov dword [esp + 0x5c], eax
je 0x10077cd6
xor edx, edx
mov dword [esp + 0x60], ecx
mov ecx, dword [ecx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], ecx
lea eax, [ecx + 0x54]
mov edi, dword [ecx + 0x58]
mov dword [esp + 4], eax
cmp edi, eax
je 0x10077862
mov dword [esp], ecx
lea ecx, [edi - 4]
test edi, edi
cmove ecx, edi
cmp byte [ecx + 0x14], 0
jne 0x1007784f
mov ebx, dword [ecx + 0x28]
mov esi, dword [ecx + 0x2c]
cmp esi, ebx
je 0x1007784f
xor edx, edx
mov ebp, dword [ebx + edx*4]
test ebp, ebp
je 0x10077843
mov eax, dword [ebp + 8]
add eax, 0xffffffee
cmp eax, 0xe
ja 0x10077843
mov eax, dword [ebp + 0x18]
mov esi, dword [esp + 0x30]
shl eax, 4
mov dword [esi + eax + 8], ecx
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x3c]
mov dword [esi + eax + 0xc], ebx
mov ebx, dword [ecx + 0x28]
mov esi, dword [ecx + 0x2c]
mov eax, esi
inc edx
sub eax, ebx
sar eax, 2
cmp edx, eax
jb 0x10077811
mov edi, dword [edi + 4]
cmp edi, dword [esp + 4]
jne 0x100777f7
mov eax, dword [esp]
mov edx, dword [esp + 0x44]
mov edi, dword [eax + 0x58]
cmp edi, dword [esp + 4]
mov dword [esp + 0x48], edx
je 0x10077c71
mov eax, edi
jmp 0x10077c45
mov dword [esp + 0x10], edx
mov ecx, dword [edx + 0x1c]
test ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov byte [esp + 0x20], 0
je 0x100778bd
cmp dword [ecx + 0x74], 0
je 0x100778bd
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
cmp eax, edx
je 0x100778ae
mov dword [edx], ecx
add dword [esp + 0x48], 4
jmp 0x100778bd
lea edx, [esp + 0x14]
lea ecx, [esp + 0x40]
push edx
push eax
call fcn.10044010
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [esp + 0x10]
test al, al
je 0x100778e9
mov eax, dword [esp + 0x50]
cmp ecx, eax
je 0x10077917
or eax, dword [esp + 0x54]
jne 0x100779b6
mov dword [esp + 0x54], ecx
jmp 0x10077c63
mov eax, dword [ecx]
call dword [eax + 0x1c]
test eax, eax
je 0x10077924
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
cmp ecx, eax
jne 0x1007799b
test edx, edx
jne 0x1007799b
mov dword [esp + 0x54], 0
jmp 0x10077c63
mov dword [esp + 0x50], 0
jmp 0x10077c63
mov eax, dword [esp + 0x10]
lea ebp, [esp + 0x64]
mov ecx, ebp
mov esi, dword [eax + 0x10]
xor eax, eax
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], eax
mov byte [esp + 0x64], 0
push eax
push 0x101d9d51
call fcn.100055a8
mov ecx, 0x1020ca3c
push esi
push ebp
call fcn.1006d9c2
mov ecx, ebp
mov ebx, eax
call fcn.1000419e
test bl, bl
je 0x10077c63
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0xc], 0x1a
jl 0x10077c63
mov eax, dword [ecx]
call dword [eax + 0x10]
mov edx, dword [esp + 0x14]
test al, al
je 0x10077a76
mov bl, 1
test edx, edx
je 0x100779c0
cmp dword [edx + 0x28], 0xffffffff
je 0x100779c4
xor eax, eax
jmp 0x100779d2
test edx, edx
sete bl
cmp edx, eax
sete dl
test ecx, ecx
jne 0x100779b6
or bl, dl
je 0x100779b6
mov dword [esp + 0x50], eax
jmp 0x10077c63
mov byte [esp + 0x20], 1
jmp 0x10077c63
mov al, 1
jmp 0x100779d2
mov cl, byte [edx + 0x24]
cmp cl, 1
setne al
test cl, cl
setne bl
mov ecx, dword [esp + 0x10]
mov ebp, dword [ecx + 0x28]
mov esi, dword [ebp]
test esi, esi
je 0x10077a76
cmp dword [esi + 0x28], 0xffffffff
mov ch, bl
je 0x100779f4
mov byte [esp], 1
xor ebx, ebx
jmp 0x10077a03
mov cl, byte [esi + 0x24]
cmp cl, 1
setne bl
test cl, cl
setne byte [esp]
mov cl, al
or cl, bl
cmp cl, 1
jne 0x10077c63
or al, byte [esp]
jne 0x10077a6e
mov eax, dword [edx + 4]
cmp eax, dword [esi + 4]
jne 0x10077a6e
mov edx, dword [esi + 0x18]
mov ebx, dword [esp + 0x30]
mov ecx, esi
shl edx, 4
mov eax, dword [ebx + edx]
test eax, eax
je 0x10077a3d
mov ecx, dword [ebx + edx + 4]
cmp ecx, dword [esp + 0x3c]
cmovne eax, esi
mov ecx, eax
mov dword [ebp], ecx
cmp dword [esp + 0x50], 0
jne 0x10077c63
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x30]
shl eax, 4
mov eax, dword [ecx + eax + 8]
cmp eax, dword [esp + 0x10]
je 0x10077c63
lea ecx, [esp + 0x24]
mov edx, esi
jmp 0x10077bf5
or ch, bl
je 0x10077bba
test edx, edx
je 0x10077a80
cmp dword [edx + 0x28], 0xffffffff
je 0x10077a89
mov dword [esp], 0
jmp 0x10077a93
cmp byte [edx + 0x24], 0
sete al
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x28]
cmp dword [eax + 0x2c], ecx
je 0x10077b67
xor ebx, ebx
mov edx, dword [ecx + ebx*4]
test edx, edx
je 0x10077b53
mov ecx, dword [edx + 8]
add ecx, 0xffffffee
cmp ecx, 0xe
ja 0x10077b53
cmp dword [edx + 0x28], 0xffffffff
jne 0x10077b53
cmp byte [edx + 0x24], 0
jne 0x10077b53
mov ecx, dword [edx + 0x18]
mov esi, dword [esp + 0x30]
shl ecx, 4
mov ebp, dword [esi + ecx]
test ebp, ebp
je 0x10077af9
mov dword [esp + 0x58], ebp
mov ebp, dword [esi + ecx + 4]
cmp ebp, dword [esp + 0x3c]
mov ebp, dword [esp + 0x58]
cmovne ebp, edx
jmp 0x10077afb
mov ebp, edx
cmp dword [esp + 0x50], 0
jne 0x10077b49
cmp dword [esi + ecx + 8], eax
je 0x10077b49
lea ecx, [esp + 0x24]
call fcn.10077d1e
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
push ebp
push eax
call dword [edx + 0xa8]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov dword [eax + 8], ecx
mov esi, dword [eax + 4]
and edx, 0xfffffffc
and esi, 3
or esi, edx
mov dword [eax + 4], esi
lea eax, [eax + 4]
mov dword [edx + 4], eax
mov edx, dword [ecx]
and edx, 3
or edx, eax
mov dword [ecx], edx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [eax + ebx*4], ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
inc ebx
sub edx, ecx
sar edx, 2
cmp ebx, edx
jb 0x10077aa5
cmp byte [esp], 0
je 0x10077c63
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov ecx, dword [edx + 0x18]
shl ecx, 4
mov esi, dword [eax + ecx + 0xc]
cmp esi, dword [esp + 0x3c]
jne 0x10077c63
cmp dword [esp + 0x50], 0
je 0x10077bf1
mov ebp, dword [eax + ecx]
mov ebx, edx
test ebp, ebp
je 0x10077ba6
cmp dword [eax + ecx + 4], esi
cmovne ebp, edx
mov ebx, ebp
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
push edx
push ebx
call dword [eax + 0xa8]
mov byte [eax + 0x17], 1
jmp 0x10077c0b
mov eax, dword [edx + 0x18]
mov ecx, dword [esp + 0x30]
shl eax, 4
mov ebx, dword [ecx + eax + 0xc]
cmp ebx, dword [esp + 0x3c]
jne 0x10077c63
cmp dword [esp + 0x50], 0
je 0x10077c33
mov ebp, dword [ecx + eax]
test ebp, ebp
je 0x10077be7
cmp dword [ecx + eax + 4], ebx
cmove edx, ebp
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
push esi
push edx
jmp 0x10077bae
lea ecx, [esp + 0x24]
call fcn.10077d1e
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
push dword [esp + 0x14]
push eax
call dword [edx + 0xa8]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov dword [eax + 8], ecx
mov esi, dword [eax + 4]
and edx, 0xfffffffc
and esi, 3
or esi, edx
mov dword [eax + 4], esi
lea eax, [eax + 4]
mov dword [edx + 4], eax
mov edx, dword [ecx]
and edx, 3
or edx, eax
mov dword [ecx], edx
jmp 0x10077c63
lea ecx, [esp + 0x24]
call fcn.10077d1e
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
push esi
jmp 0x10077c04
cmp byte [esp + 0x20], 0
jne 0x10077c6b
mov ecx, edi
lea edx, [eax - 4]
mov edi, dword [eax + 4]
test ecx, ecx
cmove edx, ecx
cmp byte [edx + 0x14], 0
je 0x10077877
cmp edi, dword [esp + 4]
mov eax, edi
jne 0x10077c45
mov eax, dword [esp + 0x48]
jmp 0x10077c73
mov eax, edx
mov ecx, dword [esp + 0x44]
cmp ecx, eax
mov dword [esp + 4], ecx
je 0x10077cc1
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 4]
mov edi, dword [esi]
mov ebx, dword [edi + 0x74]
mov ebp, dword [ebx + 0x18]
shl ebp, 4
mov ebx, dword [edx + ebp]
test ebx, ebx
je 0x10077cba
mov ebp, dword [edx + ebp + 4]
cmp ebp, dword [esp + 0x3c]
jne 0x10077cba
mov ebp, ebx
mov ebx, dword [ebx + 0x74]
test ebx, ebx
je 0x10077cb4
mov ecx, dword [ebx + 0x18]
cmp ecx, dword [edi + 0x18]
jae 0x10077ca3
mov dword [edi + 0x74], ebx
mov dword [ebp + 0x74], edi
add esi, 4
cmp esi, eax
jne 0x10077c87
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 4]
add ecx, 4
cmp ecx, dword [esp + 0x5c]
jne 0x100777d8
mov ecx, dword [esp + 0x90]
push str.After_splitting_local_variables
call sym.libGLESv2.dll_Register
cmp dword [esp + 0x44], 0
je 0x10077cfc
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x30], 0
je 0x10077d11
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.10003498