Function at 0x10117880
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101359c4
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x101791e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1fc], edi
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x1e0], ebx
call fcn.100d59b0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], ebx
mov byte [ebp - 0x64], bl
mov eax, dword [ebp + 0x10]
mov dword [ebp - 4], ebx
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x10117f8f
lea eax, [edi + 0x20]
mov dword [ebp - 0x1f4], eax
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 0x14]
lea edx, [eax + 0x5c]
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ecx]
add eax, 0xfffffff1
mov dword [ebp - 0x1f8], edx
cmp eax, 0x10
ja 0x1011791b
mov eax, dword [edi + 8]
jmp 0x1011791d
mov eax, dword [edi]
push edx
mov ecx, edi
mov dword [ebp - 0x1dc], eax
call fcn.10116d40
mov dword [ebp - 0x1e8], eax
lea ecx, [edi + 0x20]
add eax, 8
push eax
call fcn.10110720
mov edi, eax
mov eax, dword [ebp - 0x1f4]
cmp edi, dword [eax]
je 0x101179c1
cmp dword [edi + 0x24], 0x10
lea ecx, [edi + 0x10]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1ec], eax
jb 0x1011795d
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x1e8]
add eax, 8
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x1d8], edx
jb 0x10117977
mov eax, dword [eax]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1ec]
cmp edx, eax
cmovb eax, edx
push eax
push ecx
push dword [ebp - 0x1e4]
call fcn.1000b8a0
add esp, 0xc
test eax, eax
jne 0x101179ba
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1ec]
cmp ecx, edx
jae 0x101179b1
or eax, 0xffffffff
jmp 0x101179b8
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
sets al
test al, al
je 0x10117a0c
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1f4]
add eax, 8
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x1ed]
push eax
lea eax, [ebp - 0x1d8]
push eax
push 0x1017be50
call fcn.100438f0
mov ecx, dword [ebp - 0x1f4]
push eax
add eax, 0x10
push eax
push edi
lea eax, [ebp - 0x200]
push eax
call fcn.100e0440
mov edi, dword [ebp - 0x200]
mov eax, dword [ebp - 0x1dc]
mov dword [edi + 0x28], eax
mov edi, dword [ebp - 0x1fc]
push dword [edi + 0x10]
push dword [ebp - 0x1e8]
call fcn.100cdc00
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e8]
push dword [eax]
call fcn.10001cc0
add esp, 0xc
test al, al
mov eax, dword [ebp - 0x1e4]
je 0x10117a4e
add dword [edi + 8], eax
jmp 0x10117a50
add dword [edi], eax
cmp dword [ebp + 0xc], 0x8b49
mov edi, dword [ebp - 0x1d4]
jne 0x10117c72
mov eax, dword [edi]
mov ecx, 0x10
add eax, 0xfffffff1
cmp ecx, eax
sbb eax, eax
inc eax
test al, al
je 0x10117c72
push dword [ebp - 0x1dc]
lea eax, [ebp - 0x10c]
push eax
call fcn.101146a0
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 1
push edi
push eax
call fcn.10103b00
mov ebx, eax
push edi
push dword [ebp - 0x1f8]
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 2
push eax
call fcn.10118160
mov edi, eax
push dword [ebp - 0x1d4]
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 3
push eax
call fcn.10118430
push eax
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 4
push str.uniform
push eax
call fcn.100d9600
push str._sampler_
push eax
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 5
push eax
call fcn.100d95b0
push edi
push eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
push eax
call fcn.100f7160
add esp, 0x48
push ebx
push eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 7
push eax
call fcn.100f7160
push str._:_register_s
push eax
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 8
push eax
call fcn.100d95b0
push dword [ebp - 0x1d8]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.100f7160
push 0x10153938
push eax
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0xa
push eax
call fcn.100d95b0
add esp, 0x30
push 0xffffffffffffffff
mov byte [ebp - 4], 0xb
push 0
push eax
lea ecx, [ebp - 0x64]
call fcn.100dab80
push dword [ebp - 0x1dc]
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0
push eax
call fcn.101146a0
mov dword [ebp - 0x1d8], eax
mov edi, dword [ebp - 0x1d4]
lea eax, [ebp - 0x128]
push edi
push eax
mov byte [ebp - 4], 0xc
call fcn.10103b00
mov ebx, eax
push edi
push dword [ebp - 0x1f8]
lea eax, [ebp - 0x160]
mov byte [ebp - 4], 0xd
push eax
call fcn.10118160
mov edi, eax
push dword [ebp - 0x1d4]
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0xe
push eax
call fcn.10118570
push eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0xf
push str.uniform
push eax
call fcn.100d9600
push str._texture_
push eax
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 0x10
push eax
call fcn.100d95b0
push edi
push eax
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x11
push eax
call fcn.100f7160
add esp, 0x48
push ebx
push eax
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x12
push eax
call fcn.100f7160
push str._:_register_t
push eax
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x13
push eax
call fcn.100d95b0
push dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100f7160
push 0x10153938
push eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x15
push eax
call fcn.100d95b0
add esp, 0x30
mov byte [ebp - 4], 0x16
jmp 0x10117f07
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x10117c9e
mov eax, dword [ecx + 4]
cmp dword [eax + 0x10], 0
je 0x10117c9e
push 0
push 0
push ecx
lea eax, [ebp - 0x80]
push eax
call fcn.10118280
add esp, 0x10
mov ecx, eax
mov byte [ebp - 4], 0x17
or ebx, 1
jmp 0x10117cba
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.101186e0
add esp, 8
mov ecx, eax
mov dword [ebp - 4], 0x18
or ebx, 2
mov eax, dword [ecx + 0x18]
push 0xffffffffffffffff
push 0
push ecx
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1e0], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.100d08e0
mov dword [ebp - 4], 0x19
test bl, 2
je 0x10117d15
and ebx, 0xfffffffd
mov dword [ebp - 0x88], 0xf
mov dword [ebp - 0x1e0], ebx
mov dword [ebp - 0x8c], 0
mov byte [ebp - 0x9c], 0
mov byte [ebp - 4], 0x1b
test bl, 1
je 0x10117d39
and ebx, 0xfffffffe
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x1e0], ebx
mov dword [ebp - 0x70], 0
mov byte [ebp - 0x80], 0
push dword [ebp - 0x1dc]
lea eax, [ebp - 0xb8]
push eax
call fcn.101146a0
add esp, 8
mov edi, eax
mov byte [ebp - 4], 0x1c
call fcn.100d59b0
push 9
push str.register_
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
call fcn.100d0a00
mov ebx, dword [ebp - 0x1d4]
mov ecx, 0x10153714
mov byte [ebp - 4], 0x1d
mov eax, dword [ebx]
add eax, 0xfffffff1
cmp eax, 0x10
mov eax, 0x1015de0c
cmova ecx, eax
lea eax, [ebp - 0x48]
push ecx
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.100d95b0
push edi
push eax
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x1e
push eax
call fcn.100f7160
push 0x10138a3c
push eax
lea eax, [ebp - 0x10c]
mov byte [ebp - 4], 0x1f
push eax
call fcn.100d95b0
mov dword [ebp - 0xdc], 0xf
mov dword [ebp - 0xe0], 0
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0xc0], 0xf
mov dword [ebp - 0xc4], 0
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 0x24
push ebx
push eax
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
call fcn.10103b00
mov ebx, eax
push dword [ebp - 0x1d4]
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x25
push dword [ebp - 0x1f8]
push eax
call fcn.10118160
mov edi, eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x160]
push str.uniform
push eax
call fcn.100f1a30
add esp, 0x44
push 0x10138a40
push eax
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x27
push eax
call fcn.100d95b0
push edi
push eax
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x28
push eax
call fcn.100f7160
push ebx
push eax
lea eax, [ebp - 0x198]
mov byte [ebp - 4], 0x29
push eax
call fcn.100f7160
push 0x1013baf0
push eax
lea eax, [ebp - 0x1d0]
mov byte [ebp - 4], 0x2a
push eax
call fcn.100d95b0
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0x2b
push ecx
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.100dd2e0
push 0x1013baec
push eax
lea eax, [ebp - 0x17c]
mov byte [ebp - 4], 0x2c
push eax
call fcn.100d95b0
add esp, 0x48
mov byte [ebp - 4], 0x2d
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x64]
call fcn.100dab80
cmp byte [esi + 0xd], 0
mov byte [ebp - 4], 0
jne 0x10117f58
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x10117f3d
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x10117f58
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10117f31
jmp 0x10117f58
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10117f56
cmp esi, dword [eax + 8]
jne 0x10117f56
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10117f46
mov esi, eax
mov eax, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1fc]
cmp esi, dword [eax]
jne 0x101178f7
cmp dword [ebp - 0x54], 0
je 0x10117f8f
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x17c]
push str.___Uniforms_n_n
push eax
call fcn.100f1a30
add esp, 0xc
jmp 0x10117fbb
call fcn.100d59b0
push 0
push 0x1013adb0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.100d0a00
lea eax, [ebp - 0x2c]
mov ecx, dword [ebp - 0x204]
push eax
call fcn.100d60c0
mov eax, dword [ebp - 0x204]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10125970
mov esp, ebp
pop ebp
ret 0xc