joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100a7560
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov ebx, dword [ebp + 8]
mov esi, ebx
shr esi, 8
mov edi, ebx
shr edi, 0x10
mov eax, dword [0x1039f0a4]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, ebx
shr ecx, 0x18
mov dword [ebp - 0x10], ecx
mov ecx, dword [0x1039f88c]
cmp ecx, dword [eax + 4]
jg 0x100a7704
call fcn.100a7980
mov eax, 0xff
and ebx, eax
mov ecx, ebx
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
and esi, eax
xor ecx, esi
imul ecx, ecx, 0x1000193
and edi, eax
xor ecx, edi
imul eax, ecx, 0x1000193
xor eax, dword [ebp - 0x10]
imul ecx, eax, 0x1000193
and ecx, dword [0x1039f79c]
mov eax, dword [0x1039f790]
mov dword [ebp - 0x14], eax
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [0x1039f788]
mov dword [ebp - 0x10], eax
cmp edx, eax
je 0x100a7614
mov eax, dword [ebp + 8]
and eax, 0xff000000
shl edi, 0x10
or edi, eax
shl esi, 8
or esi, edi
or esi, ebx
cmp esi, dword [edx + 8]
jne 0x100a761e
mov eax, 0x1039f81c
jmp 0x100a763b
mov eax, 0x1039f81c
jmp 0x100a76fc
add ecx, ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + ecx*4]
mov eax, 0x1039f81c
cmp edx, ecx
je 0x100a76fc
mov edx, dword [edx + 4]
cmp esi, dword [edx + 8]
jne 0x100a762b
cmp edx, dword [ebp - 0x10]
je 0x100a76fc
mov ecx, dword [edx + 0x10]
cmp dword [edx + 0x14], 1
jne 0x100a765d
mov eax, dword [ecx]
cmp byte [eax + 0x10], 0
je 0x100a765d
add eax, 0xc
jmp 0x100a76fc
mov edi, dword [ebp + 0xc]
mov eax, edi
shr eax, 8
mov esi, edi
shr esi, 0x10
mov dword [ebp - 0x10], ecx
mov ecx, 0xff
mov ebx, edi
and ebx, ecx
and eax, ecx
and esi, ecx
mov ecx, edi
shr ecx, 0x18
mov dword [ebp - 0x14], ebx
xor ebx, 0x811c9dc5
imul ebx, ebx, 0x1000193
xor ebx, eax
imul ebx, ebx, 0x1000193
xor ebx, esi
imul ebx, ebx, 0x1000193
xor ebx, ecx
imul ecx, ebx, 0x1000193
mov ebx, dword [ebp - 0x10]
and ecx, dword [edx + 0x24]
mov edx, dword [edx + 0x18]
mov dword [ebp - 0x18], edx
mov edx, dword [edx + ecx*8 + 4]
cmp edx, ebx
je 0x100a76e8
and edi, 0xff000000
shl esi, 0x10
or esi, edi
shl eax, 8
or eax, esi
add eax, dword [ebp - 0x14]
cmp eax, dword [edx + 8]
je 0x100a76ea
add ecx, ecx
mov esi, dword [ebp - 0x18]
mov ecx, dword [esi + ecx*4]
cmp edx, ecx
je 0x100a76e8
mov edx, dword [edx + 4]
cmp eax, dword [edx + 8]
jne 0x100a76da
jmp 0x100a76ea
xor edx, edx
test edx, edx
cmove edx, ebx
lea ecx, [edx + 0xc]
cmp edx, ebx
mov eax, 0x1039f81c
cmovne eax, ecx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x1039f88c
call fcn.1021278e
add esp, 4
cmp dword [0x1039f88c], 0xffffffff
jne 0x100a759f
xor eax, eax
mov dword [0x1039f81c], eax
mov byte [0x1039f820], 0
xorps xmm0, xmm0
movups xmmword [0x1039f824], xmm0
movups xmmword [0x1039f834], xmm0
movups xmmword [0x1039f841], xmm0
mov dword [0x1039f858], eax
mov dword [0x1039f854], eax
mov dword [0x1039f85d], eax
mov dword [0x1039f859], eax
movups xmmword [0x1039f864], xmm0
mov dword [0x1039f874], eax
mov eax, 0x100027c0
mov dword [0x1039f878], eax
mov dword [0x1039f87c], eax
mov dword [0x1039f880], eax
mov dword [0x1039f884], eax
mov dword [0x1039f888], eax
push 0x1039f88c
call fcn.1021278e
add esp, 4
jmp 0x100a759f
Function at 0x100b7de0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov edi, dword [ebp + 8]
mov ebx, edi
shr ebx, 8
mov esi, edi
shr esi, 0x10
call fcn.100a7980
mov eax, edi
and eax, 0xff000000
mov edx, 0xff
and esi, edx
mov edi, esi
shl edi, 0x10
or edi, eax
and ebx, edx
mov ecx, ebx
shl ecx, 8
or ecx, edi
mov edi, dword [ebp + 8]
and edx, edi
xor eax, eax
or ecx, edx
je 0x100b7e87
shr edi, 0x18
xor edx, 0x811c9dc5
imul eax, edx, 0x1000193
xor eax, ebx
imul eax, eax, 0x1000193
xor eax, esi
imul eax, eax, 0x1000193
xor eax, edi
imul esi, eax, 0x1000193
and esi, dword [0x1039f79c]
mov edi, dword [0x1039f790]
mov edx, dword [edi + esi*8 + 4]
mov eax, dword [0x1039f788]
cmp edx, eax
je 0x100b7e79
cmp ecx, dword [edx + 8]
je 0x100b7e7b
add esi, esi
mov esi, dword [edi + esi*4]
cmp edx, esi
je 0x100b7e79
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x100b7e6b
jmp 0x100b7e7b
xor edx, edx
test edx, edx
setne cl
cmp edx, eax
setne al
and al, cl
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100ca9f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
cmp ecx, 0x3141
jg 0x100caa21
add ecx, 0xffffcfe0
cmp ecx, 0x23
ja case.0x100caa12.12336
xor edx, edx
jmp dword [ecx*4 + 0x102cdd20]
add eax, 8
jmp 0x100cab53
cmp ecx, 0x3338
jle 0x100caa55
cmp ecx, 0x3339
je 0x100cab40
cmp ecx, 0x33a7
je 0x100cab47
cmp ecx, 0x348d
jne case.0x100caa12.12336
add eax, 0x2c
jmp 0x100cab53
cmp ecx, 0x3142
je 0x100cab4e
cmp ecx, 0x3147
jne case.0x100caa12.12336
add eax, 0x9c
jmp 0x100cab53
add eax, 0x1c
jmp 0x100cab53
add eax, 0x14
jmp 0x100cab53
add eax, 0x10
jmp 0x100cab53
add eax, 0xc
jmp 0x100cab53
add eax, 0x40
jmp 0x100cab53
add eax, 0x78
jmp 0x100cab53
add eax, 0x34
jmp 0x100cab53
add eax, 0x38
jmp 0x100cab53
add eax, 0x44
jmp 0x100cab53
add eax, 0x50
jmp 0x100cab53
add eax, 0x54
jmp 0x100cab53
add eax, 0x4c
jmp 0x100cab53
add eax, 0x60
jmp 0x100cab53
add eax, 0x64
jmp 0x100cab53
add eax, 0x68
jmp 0x100cab53
add eax, 0x74
jmp 0x100cab53
add eax, 0x70
jmp 0x100cab53
add eax, 0x7c
jmp 0x100cab53
sub eax, 0xffffff80
jmp 0x100cab53
add eax, 0x8c
jmp 0x100cab53
add eax, 0x88
jmp 0x100cab53
add eax, 0x84
jmp 0x100cab53
add eax, 0x24
jmp 0x100cab53
add eax, 0x28
jmp 0x100cab53
add eax, 0x5c
jmp 0x100cab53
add eax, 0x58
jmp 0x100cab53
add eax, 0x18
jmp 0x100cab53
add eax, 0x20
jmp 0x100cab53
add eax, 0x30
jmp 0x100cab53
add eax, 0x6c
jmp 0x100cab53
add eax, 0x3c
jmp 0x100cab53
add eax, 0xa4
jmp 0x100cab53
add eax, 0x94
jmp 0x100cab53
add eax, 0x90
jmp 0x100cab53
add eax, 0x98
mov edx, dword [eax]
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
pop ebp
ret
Function at 0x10137dc0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x120
mov esi, ecx
mov eax, dword [0x1038000c]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp byte [ecx + 0x2400], 0
je 0x10137ded
cmp byte [esi + 0x2401], 0
setne bl
jmp 0x10137e23
mov ecx, esi
call fcn.101024c0
cmp byte [eax + 0x8a], 0
je 0x10137e18
lea ecx, [esi + 0x21f0]
call fcn.101298c0
test al, al
jne 0x10137e18
cmp dword [esi + 0x1fe0], 0x9300
jg 0x10137e3a
mov word [esi + 0x2400], 1
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10212780
mov eax, ebx
add esp, 0x120
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [esi + 0x15f1], 0
je 0x10137e61
push dword [esi + 0x1fd8]
call fcn.10166a60
add esp, 4
cmp eax, 3
je 0x10137e74
cmp eax, 2
jne 0x10137ee7
jmp 0x10137e18
mov eax, dword [esi + 0x15ec]
lea ecx, [eax - 2]
cmp ecx, 3
jb 0x10137e18
cmp eax, 5
jne 0x10137eef
lea edi, [ebp - 0x120]
push 0x110
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [edi - 0xc], 0x11c
sub esp, 0x10
movaps xmm0, xmmword [0x102c3990]
movups xmmword [esp], xmm0
mov ebx, dword [sym.imp.kernel32.dll_VerSetConditionMask]
call ebx
mov ecx, 3
push ecx
push 1
push edx
push eax
call ebx
mov ecx, 3
push ecx
push 0x20
push edx
push eax
call ebx
mov dword [edi - 8], 6
mov dword [edi - 4], 2
mov word [edi + 0x108], 0
lea ecx, [ebp - 0x12c]
push edx
push eax
push 0x23
push ecx
call dword [sym.imp.kernel32.dll_VerifyVersionInfoW]
test eax, eax
je 0x10137e18
mov word [esi + 0x2400], 0x101
mov bl, 1
jmp 0x10137e23
Function at 0x101613d0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
xor eax, eax
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
movups xmmword [ecx + 0xe], xmm0
push str.ComBase.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [esi + 0x20], eax
test eax, eax
je 0x101614ce
push str.WindowsCreateStringReference
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi], eax
test eax, eax
je 0x101614ce
push str.RoGetActivationFactory
push dword [esi + 0x20]
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 4], eax
test eax, eax
je 0x101614ce
push str.WindowsCompareStringOrdinal
push dword [esi + 0x20]
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 8], eax
test eax, eax
je 0x101614ce
push str.WindowsDeleteString
push dword [esi + 0x20]
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x10], eax
test eax, eax
je 0x101614ce
push str.RoInitialize
push dword [esi + 0x20]
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x14], eax
test eax, eax
je 0x101614ce
push str.RoUninitialize
push dword [esi + 0x20]
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0x18], eax
test eax, eax
je 0x101614ce
push str.coremessaging.dll
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [esi + 0x24], eax
test eax, eax
je 0x101614ce
push str.CreateDispatcherQueueController
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [esi + 0xc], eax
test eax, eax
je 0x101614ce
mov ecx, dword [esi + 0x14]
call dword [section..00cfg]
push 1
call ecx
test eax, eax
jns 0x101614c2
cmp eax, 0x80010106
jne 0x101614ce
mov byte [esi + 0x1c], 1
test eax, eax
js 0x101614ce
mov byte [esi + 0x1d], 1
mov eax, esi
pop esi
pop ebp
ret
Function at 0x101a1020
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
push edi
push esi
call fcn.1019dc90
add esp, 8
test al, al
je 0x101a105a
mov al, byte [edi + 0x1bb]
or al, byte [edi + 0x1ba]
jne 0x101a1060
push str.EGL_KHR_image_not_supported.
push 0x3008
push esi
call fcn.1019dc10
add esp, 0xc
xor eax, eax
pop esi
pop edi
pop ebp
ret
pop esi
pop edi
pop ebp
jmp fcn.1019ff80
Function at 0x101a9310
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov edi, edx
mov ebx, ecx
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp eax, 0x8c19
jg 0x101a9344
cmp eax, 0xde1
je 0x101a9386
cmp eax, 0x806f
je 0x101a9386
cmp eax, 0x8513
je 0x101a9386
jmp 0x101a944b
cmp eax, 0x8c1a
je 0x101a9386
cmp eax, 0x9009
je 0x101a9386
cmp eax, 0x8d41
jne 0x101a944b
test esi, esi
je 0x101a9377
mov ecx, dword [ebx + 0x1370]
push esi
call fcn.10076790
mov dl, 1
test eax, eax
jne 0x101a94b9
add ebx, 0x1d04
mov ecx, ebx
push str.name_is_not_a_valid_renderbuffer.
jmp 0x101a93be
mov ecx, ebx
push esi
call fcn.10025b00
test al, al
je 0x101a93b1
mov ecx, dword [ebx + 0x136c]
cmp dword [ecx + 0x2c], esi
jbe 0x101a93c8
mov eax, dword [ecx + 0x30]
mov eax, dword [eax + esi*4]
cmp eax, 0xffffffff
jne 0x101a947f
jmp 0x101a94b7
add ebx, 0x1d04
mov ecx, ebx
push str.Not_a_valid_texture_object_name.
push 0x501
jmp 0x101a94ad
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], edi
mov edx, esi
shr edx, 0x10
mov eax, esi
shr eax, 8
mov ebx, 0xff
mov edi, esi
and edi, ebx
and eax, ebx
and edx, ebx
mov ebx, esi
shr ebx, 0x18
mov dword [ebp - 0x1c], edi
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
xor edi, edx
imul edi, edi, 0x1000193
xor edi, ebx
imul ebx, edi, 0x1000193
and ebx, dword [ecx + 0x4c]
mov edi, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x40]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, edi
je 0x101a94b7
and esi, 0xff000000
shl edx, 0x10
or edx, esi
shl eax, 8
or eax, edx
add eax, dword [ebp - 0x1c]
cmp eax, dword [ecx + 8]
jne 0x101a945a
mov esi, edi
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
jmp 0x101a9476
add ebx, 0x1d04
mov ecx, ebx
push str.Invalid_target.
jmp 0x101a94a8
mov esi, edi
add ebx, ebx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + ebx*4]
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
cmp ecx, edx
je 0x101a94b7
mov ecx, dword [ecx + 4]
cmp eax, dword [ecx + 8]
jne 0x101a946a
cmp ecx, esi
mov dl, 1
je 0x101a94b9
mov eax, dword [ecx + 0xc]
mov dl, 1
test eax, eax
je 0x101a94b9
mov esi, ebx
mov bl, byte [eax + 0x6c]
push dword [ebp + 0xc]
call fcn.1021a700
mov dl, 1
add esp, 4
cmp bl, al
je 0x101a94b9
mov ecx, esi
add ecx, 0x1d04
push str.Passed_in_texture_type_must_match_the_one_originally_used_to_define_the_texture.
push 0x500
push edi
call fcn.1001a2a0
xor edx, edx
jmp 0x101a94b9
mov dl, 1
mov eax, edx
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x101a97a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, edx
mov edi, ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [0x1039f0a4]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x103a3060]
cmp ecx, dword [eax + 4]
jg 0x101a993a
mov ebx, dword [ebp + 8]
cmp edx, 0x8c19
jg 0x101a97f9
cmp edx, 0xde1
je 0x101a9829
cmp edx, 0x806f
je 0x101a9829
cmp edx, 0x8513
je 0x101a9829
jmp 0x101a98c3
cmp edx, 0x8c1a
je 0x101a9829
cmp edx, 0x9009
je 0x101a9829
cmp edx, 0x8d41
jne 0x101a98c3
mov ecx, dword [edi + 0x1370]
push ebx
call fcn.10076790
mov eax, dword [eax + 0x74]
jmp 0x101a9932
mov esi, dword [ebp + 0x10]
mov edx, dword [edi + 0x136c]
cmp dword [edx + 0x2c], ebx
jbe 0x101a984a
mov eax, dword [edx + 0x30]
mov eax, dword [eax + ebx*4]
xor edi, edi
cmp eax, 0xffffffff
cmovne edi, eax
jmp 0x101a990a
mov eax, ebx
shr eax, 0x10
mov ecx, ebx
shr ecx, 8
mov esi, 0xff
mov edi, ebx
and edi, esi
and ecx, esi
and eax, esi
mov esi, ebx
shr esi, 0x18
mov dword [ebp - 0x18], edi
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, ecx
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
xor edi, esi
imul esi, edi, 0x1000193
and esi, dword [edx + 0x4c]
mov edi, dword [edx + 0x38]
mov edx, dword [edx + 0x40]
mov dword [ebp - 0x10], edx
mov edx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x14], edi
cmp edx, edi
je 0x101a98e2
and ebx, 0xff000000
shl eax, 0x10
or eax, ebx
shl ecx, 8
or ecx, eax
add ecx, dword [ebp - 0x18]
cmp ecx, dword [edx + 8]
jne 0x101a98e9
mov esi, dword [ebp + 0x10]
xor edi, edi
jmp 0x101a9902
add edi, 0x1d04
mov ecx, edi
push str.Invalid_target.
push 0x500
push esi
call fcn.1001a2a0
mov eax, 0x103a2ff0
jmp 0x101a9932
mov esi, dword [ebp + 0x10]
xor edi, edi
jmp 0x101a990a
add esi, esi
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp + 0x10]
xor edi, edi
cmp edx, eax
je 0x101a990a
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x101a98f6
cmp edx, dword [ebp - 0x14]
je 0x101a990a
mov edi, dword [edx + 0xc]
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x8513
mov eax, 0x8515
cmovne eax, ecx
push eax
call fcn.1021a610
add esp, 4
movzx eax, al
mov ecx, edi
push esi
push eax
call fcn.1008e490
mov eax, dword [eax]
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x103a3060
mov ebx, edx
call fcn.1021278e
mov edx, ebx
add esp, 4
cmp dword [0x103a3060], 0xffffffff
jne 0x101a97d1
mov ecx, 0x103a2ff0
call fcn.100a7210
push 0x103a3060
call fcn.1021278e
mov edx, ebx
add esp, 4
jmp 0x101a97d1
Function at 0x101ab9c0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
test edi, edi
je 0x101ab9dc
mov dword [edi], 0
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push esi
call fcn.101ab900
add esp, 0x10
test al, al
je 0x101aba10
cmp dword [ebp + 0x18], 0
jns 0x101aba1c
add esi, 0x1d04
mov ecx, esi
push str.Negative_buffer_size.
push 0x502
push dword [ebp + 0xc]
call fcn.1001a2a0
xor ebx, ebx
mov eax, ebx
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x1368]
cmp dword [eax + 0x54], ebx
jbe 0x101aba32
mov eax, dword [eax + 0x58]
mov ebx, dword [eax + ebx*4]
jmp 0x101abae6
mov edx, ebx
shr edx, 0x10
mov dword [ebp - 0x10], eax
mov eax, ebx
shr eax, 8
mov dword [ebp - 0x18], ebx
mov ecx, 0xff
and dword [ebp - 0x18], ecx
and eax, ecx
and edx, ecx
mov ecx, ebx
shr ecx, 0x18
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x18]
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
xor ecx, eax
imul ecx, ecx, 0x1000193
mov dword [ebp - 0x20], edx
xor ecx, edx
imul ecx, ecx, 0x1000193
xor ecx, dword [ebp - 0x14]
imul edx, ecx, 0x1000193
mov ecx, dword [ebp - 0x10]
and edx, dword [ecx + 0x74]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x60]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x68]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], ecx
mov edx, dword [ecx + edx*8 + 4]
cmp edx, dword [ebp - 0x14]
jne 0x101abaa9
xor edx, edx
jmp 0x101abadb
and ebx, 0xff000000
mov ecx, dword [ebp - 0x20]
shl ecx, 0x10
or ecx, ebx
shl eax, 8
or eax, ecx
add eax, dword [ebp - 0x18]
cmp eax, dword [edx + 8]
je 0x101abadb
mov ecx, dword [ebp - 0x10]
add ecx, ecx
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx + ecx*4]
cmp edx, ecx
je 0x101abaa5
mov edx, dword [edx + 4]
cmp eax, dword [edx + 8]
jne 0x101abacf
test edx, edx
mov eax, dword [ebp - 0x14]
cmovne eax, edx
mov ebx, dword [eax + 0xc]
cmp dword [ebx + 0x158], 0
je 0x101abaf7
mov ecx, ebx
push esi
call fcn.100599c0
mov eax, dword [ebx + 0x8c]
mov ecx, dword [ebx + 0xe4]
mov edx, dword [ebp + 0x14]
lea edx, [edx + edx*2]
mov ecx, dword [ecx + 0x3c4]
imul eax, dword [eax + edx*4 + 4], 0xe8
mov ebx, dword [ecx + eax + 8]
push ebx
call fcn.1021e680
add esp, 4
cmp eax, dword [ebp + 0x18]
jbe 0x101abb3b
add esi, 0x1d04
mov ecx, esi
push str.Insufficient_buffer_size.
jmp 0x101aba03
mov esi, ebx
mov bl, 1
test edi, edi
je 0x101aba12
push esi
call fcn.1021e3a0
add esp, 4
mov dword [ebp - 0x10], eax
push esi
call fcn.1021e470
add esp, 4
imul eax, dword [ebp - 0x10]
mov dword [edi], eax
jmp 0x101aba12
Function at 0x101b37a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp byte [esi + 0x1348], 0
je 0x101b37d2
cmp dword [ebp + 0x20], 0
je 0x101b37f4
add esi, 0x1d04
mov ecx, esi
push str.Mipmap_level_must_be_0_when_attaching_a_texture.
push 0x501
jmp 0x101b37e4
add esi, 0x1d04
mov ecx, esi
push str.Extension_is_not_enabled.
push 0x502
push edi
call fcn.1001a2a0
xor eax, eax
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [ebp + 0x1c]
push 0
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push esi
call fcn.101a7490
add esp, 0x18
test al, al
je 0x101b37ea
mov al, 1
test ebx, ebx
je 0x101b37ec
mov ecx, dword [esi + 0x136c]
cmp dword [ecx + 0x2c], ebx
jbe 0x101b3835
mov ecx, dword [ecx + 0x30]
mov ecx, dword [ecx + ebx*4]
xor edx, edx
cmp ecx, 0xffffffff
cmovne edx, ecx
mov dword [ebp - 0x10], edx
jmp 0x101b38d5
mov edi, ebx
shr edi, 0x10
mov dword [ebp - 0x10], ecx
mov ecx, ebx
shr ecx, 8
mov dword [ebp - 0x18], ebx
mov edx, 0xff
and dword [ebp - 0x18], edx
and ecx, edx
and edi, edx
mov edx, ebx
shr edx, 0x18
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x18]
xor edx, 0x811c9dc5
imul edx, edx, 0x1000193
xor edx, ecx
imul edx, edx, 0x1000193
mov dword [ebp - 0x24], edi
xor edx, edi
imul edx, edx, 0x1000193
xor edx, dword [ebp - 0x14]
imul edx, edx, 0x1000193
mov edi, dword [ebp - 0x10]
and edx, dword [edi + 0x4c]
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 0x38]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 0x10]
mov edi, dword [edi + 0x40]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edi
mov edx, dword [edi + edx*8 + 4]
mov dword [ebp - 0x10], 0
cmp edx, dword [ebp - 0x14]
je 0x101b38d2
and ebx, 0xff000000
mov edi, dword [ebp - 0x24]
shl edi, 0x10
or edi, ebx
shl ecx, 8
or ecx, edi
add ecx, dword [ebp - 0x18]
cmp ecx, dword [edx + 8]
jne 0x101b3945
mov bl, byte [ebp + 0x18]
jmp 0x101b395f
mov edi, dword [ebp + 0xc]
mov bl, byte [ebp + 0x18]
movzx ecx, bl
lea edx, [ecx - 7]
cmp edx, 6
jae 0x101b390b
cmp byte [esi + 0x134d], 0
je 0x101b392e
mov ecx, dword [ebp - 0x10]
cmp byte [ecx + 0x6c], 7
je 0x101b37ec
add esi, 0x1d04
mov ecx, esi
push str.Textarget_must_match_the_texture_target_type.
jmp 0x101b37df
test ecx, ecx
jne 0x101b392e
mov ecx, dword [ebp - 0x10]
cmp byte [ecx + 0x6c], 0
je 0x101b37ec
add esi, 0x1d04
mov ecx, esi
push str.Invalid_or_unsupported_texture_target.
jmp 0x101b37df
add esi, 0x1d04
mov ecx, esi
push str.Invalid_or_unsupported_texture_target.
push 0x500
jmp 0x101b37e4
mov edi, dword [ebp - 0x20]
add edi, edi
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebx + edi*4]
mov bl, byte [ebp + 0x18]
cmp edx, edi
je 0x101b3976
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x101b3953
cmp edx, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
je 0x101b38d8
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x10], ecx
jmp 0x101b38d8
mov edi, dword [ebp + 0xc]
jmp 0x101b38d8
Function at 0x101b7af0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x101b7c16
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x1368]
cmp dword [ecx + 0x54], edx
jbe 0x101b7b26
mov eax, dword [ecx + 0x58]
mov eax, dword [eax + edx*4]
cmp eax, 0xffffffff
jne 0x101b7bc8
jmp 0x101b7be3
mov esi, edx
shr esi, 0x18
mov edi, ecx
mov ecx, edx
shr edx, 0x10
mov eax, ecx
shr eax, 8
mov ebx, ecx
mov ecx, edi
mov edi, 0xff
and ebx, edi
and eax, edi
and edx, edi
mov dword [ebp - 0x18], ebx
mov edi, ebx
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
xor edi, edx
imul edi, edi, 0x1000193
xor edi, esi
imul esi, edi, 0x1000193
and esi, dword [ecx + 0x74]
mov ebx, dword [ecx + 0x60]
mov edi, dword [ecx + 0x68]
mov dword [ebp - 0x10], edi
mov edi, dword [edi + esi*8 + 4]
mov dword [ebp - 0x14], ebx
cmp edi, ebx
mov ebx, dword [ebp + 8]
je 0x101b7be3
mov ebx, dword [ebp + 0x10]
and ebx, 0xff000000
shl edx, 0x10
or edx, ebx
shl eax, 8
or eax, edx
add eax, dword [ebp - 0x18]
cmp eax, dword [edi + 8]
jne 0x101b7ba9
mov ebx, dword [ebp + 8]
jmp 0x101b7bc0
add esi, esi
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + esi*4]
mov ebx, dword [ebp + 8]
cmp edi, edx
je 0x101b7be3
mov edi, dword [edi + 4]
cmp eax, dword [edi + 8]
jne 0x101b7bb4
cmp edi, dword [ebp - 0x14]
je 0x101b7be3
mov eax, dword [edi + 0xc]
test eax, eax
je 0x101b7be3
mov edx, ebx
mov bl, 1
cmp dword [eax + 0x158], 0
je 0x101b7c18
mov ecx, eax
push edx
call fcn.100599c0
jmp 0x101b7c18
mov esi, dword [ebp + 0xc]
push dword [ebp + 0x10]
call fcn.10076790
add ebx, 0x1d04
mov ecx, ebx
test eax, eax
je 0x101b7c06
push str.Expected_a_program_name__but_found_a_shader_name.
push 0x502
jmp 0x101b7c10
push str.Program_object_expected.
push 0x501
push esi
call fcn.1001a2a0
xor ebx, ebx
mov eax, ebx
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret