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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
mov r15, r9
mov r12, r8
mov r14, rdx
mov rbx, rcx
mov bpl, byte [r8 + 0xc4]
mov r13b, byte [r8 + 0xc5]
cmp r13b, byte [rcx + 0x37c]
jne 0x140099ed4
test bpl, bpl
setne al
cmp byte [rbx + 0x37b], 0
setne cl
cmp al, cl
je 0x14009a003
mov rsi, qword [rbx + 0x348]
mov rax, qword [rsi + 0x88]
test rax, rax
je 0x14009a273
mov ecx, 0x84c0
call rax
mov rax, qword [rsi + 0x130]
test rax, rax
je 0x14009a284
mov ecx, 0xde1
xor edx, edx
call rax
mov rax, qword [rsi + 0x88]
test rax, rax
je 0x14009a273
mov ecx, 0x84c1
call rax
mov rax, qword [rsi + 0x130]
test rax, rax
je 0x14009a284
mov ecx, 0xde1
xor edx, edx
call rax
mov rcx, rbx
call fcn.14009938c
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x12e0]
test rax, rax
je 0x14009a295
xor ecx, ecx
call rax
mov byte [rbx + 0x37c], r13b
test bpl, bpl
setne byte [rbx + 0x37b]
mov rcx, rbx
call fcn.14009938c
mov rdi, rax
mov rax, qword [rax + 0x20]
mov ecx, dword [rdi + 0x28]
mov rax, qword [rax + 0x12e0]
test rax, rax
je 0x14009a295
call rax
mov rax, qword [rdi + 0x18]
cmp dword [rdi], 0
je 0x140099fb4
mov ecx, dword [rdi + 4]
mov rax, qword [rax + 0x1150]
test rax, rax
je 0x14009a29e
xor edx, edx
call rax
mov rax, qword [rdi + 0x18]
cmp dword [rdi + 8], 0
je 0x140099fd8
mov ecx, dword [rdi + 0xc]
mov rax, qword [rax + 0x1150]
test rax, rax
je 0x14009a29e
mov edx, 1
call rax
mov rax, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x350]
mov qword [rsp + 0x20], rcx
mov ecx, dword [rdi + 0x30]
mov rax, qword [rax + 0x1188]
test rax, rax
je 0x14009a2af
lea r8, [rsp + 0x20]
mov edx, 1
call rax
xorps xmm0, xmm0
lea rax, [rsp + 0x20]
movups xmmword [rax + 0xcc], xmm0
mov dword [rax + 0xdc], 0
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
lea rsi, [rsp + 0x100]
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
movups xmm0, xmmword [r12 + 0x30]
movups xmm1, xmmword [r12 + 0x40]
movups xmm2, xmmword [r12 + 0x50]
movaps xmmword [rsi + 0x50], xmm2
movaps xmmword [rsi + 0x40], xmm1
movaps xmmword [rsi + 0x30], xmm0
movups xmm0, xmmword [r12 + 0x60]
movaps xmmword [rsi + 0x60], xmm0
movups xmm0, xmmword [r12 + 0x70]
movaps xmmword [rsi + 0x70], xmm0
movups xmm0, xmmword [r12 + 0x80]
mov rdx, qword [r12 + 0x90]
movzx ecx, r13b
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
movzx ecx, bpl
xorps xmm2, xmm2
cvtsi2ss xmm2, ecx
movups xmm3, xmmword [r12 + 0xa0]
movss xmm4, dword [r12 + 0xb0]
mov r8, qword [r12 + 0x98]
movss xmm5, dword [r12 + 0xb4]
mov ecx, dword [r12 + 0xc0]
mov dword [rax + 0xc8], ecx
mov rcx, qword [r12 + 0xb8]
mov qword [rax + 0xc0], rcx
mov ecx, 0x20
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
movups xmmword [rax + 0x80], xmm0
mov qword [rax + 0x90], rdx
movups xmmword [rax + 0x98], xmm3
movss dword [rax + 0xa8], xmm4
movss dword [rax + 0xac], xmm1
movss dword [rax + 0xb0], xmm2
mov qword [rax + 0xb4], r8
movss dword [rax + 0xbc], xmm5
mov rcx, rbx
call fcn.14009938c
cmp dword [rax + 0x10], 0
je 0x14009a152
mov rdx, qword [rax + 0x18]
mov ecx, dword [rax + 0x14]
mov rax, qword [rdx + 0x1208]
test rax, rax
je 0x14009a2b8
lea r8, [rsp + 0x20]
mov edx, 0xe
call rax
mov rcx, qword [rbx + 0x348]
mov dl, byte [rbx + 0x378]
mov r8d, 0x15
call fcn.1400993f2
xor esi, esi
cmp qword [r15], 0
je 0x14009a19a
mov rcx, qword [r15 + 8]
cmp qword [r14 + 0x20], rcx
jbe 0x14009a19a
mov rax, qword [r14 + 0x18]
shl rcx, 6
cmp byte [rax + rcx + 0x3c], 2
je 0x14009a19a
mov rdx, qword [r15 + 0x10]
add rax, rcx
cmp qword [rax], rdx
jne 0x14009a19a
mov esi, dword [rax + 0x38]
mov rax, qword [rbx + 0x348]
mov rax, qword [rax + 0x88]
test rax, rax
je 0x14009a273
mov ecx, 0x84c0
call rax
mov rax, qword [rbx + 0x348]
mov rax, qword [rax + 0x130]
test rax, rax
je 0x14009a284
mov rdi, qword [rsp + 0x1f0]
mov ecx, 0xde1
mov edx, esi
call rax
xor esi, esi
cmp qword [rdi], 0
je 0x14009a210
mov rcx, qword [rdi + 8]
cmp qword [r14 + 0x20], rcx
jbe 0x14009a210
mov rax, qword [r14 + 0x18]
shl rcx, 6
cmp byte [rax + rcx + 0x3c], 2
je 0x14009a210
mov rdx, qword [rdi + 0x10]
add rax, rcx
cmp qword [rax], rdx
jne 0x14009a210
mov esi, dword [rax + 0x38]
mov rax, qword [rbx + 0x348]
mov rax, qword [rax + 0x88]
test rax, rax
je 0x14009a273
mov ecx, 0x84c1
call rax
mov rax, qword [rbx + 0x348]
mov rax, qword [rax + 0x130]
test rax, rax
je 0x14009a284
mov ecx, 0xde1
mov edx, esi
call rax
mov rcx, qword [rbx + 0x348]
mov dl, byte [rbx + 0x378]
mov r8d, 0x14
call fcn.1400993f2
nop
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.glActiveTextureglActiveTexture
mov edx, 0xf
call fcn.1400a5f9a
lea rcx, str.glBindTextureglBindTexture
mov edx, 0xd
call fcn.1400a5f9a
lea rcx, str.glUseProgramglUseProgram
jmp 0x14009a2bf
lea rcx, str.glUniform1iglUniform1i
mov edx, 0xb
call fcn.1400a5f9a
lea rcx, str.glUniform2fvglUniform2fv
jmp 0x14009a2bf
lea rcx, str.glUniform4fvglUniform4fv
mov edx, 0xc
call fcn.1400a5f9a
int3