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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b4da0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x130
mov eax, dword [0x10110040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1015a70c]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101606f8]
cmp eax, dword [ecx + 4]
jle 0x1002ad62
push 0x101606f8
call fcn.100895fd
add esp, 4
cmp dword [0x101606f8], 0xffffffff
jne 0x1002ad62
push 0x101606f8
call fcn.100895ac
add esp, 4
mov eax, dword [edi]
mov dword [ebp - 0xd4], eax
test eax, eax
je 0x1002b33f
cmp dword [eax + 0x218], 0xcafebabe
jne 0x1002b33f
mov eax, dword [eax + 0x48]
test eax, eax
je 0x1002b33f
cmp dword [eax + 0x3c], 0
je 0x1002b33f
mov eax, dword [0x1015fa04]
mov dword [ebp - 0xe0], eax
lea esi, [eax + 0x30]
push esi
call fcn.1008b334
add esp, 4
test eax, eax
jne 0x1002b35d
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x1002b364
mov eax, dword [ebp - 0xe0]
push esi
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xe0], eax
call fcn.1008b345
mov eax, dword [ebp - 0xe0]
add esp, 4
mov ecx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], eax
cmp eax, ecx
je 0x1002aeb4
test eax, eax
jne 0x1002ae03
cmp byte [ecx + 0x44], al
jne 0x1002aeb4
cmp byte [ecx + 0x44], 0
je 0x1002aea8
mov eax, dword [edi + 0x18]
xorps xmm0, xmm0
movups xmmword [ebp - 0x120], xmm0
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0xd4]
movups xmmword [ebp - 0x10c], xmm0
push eax
movups xmm0, xmmword [edi]
mov byte [ebp - 0x140], 0
movups xmmword [ebp - 0x13c], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x12c], xmm0
call fcn.1002c2f0
mov edx, eax
mov ecx, dword [edx + 4]
cmp ecx, dword [edx + 8]
je 0x1002ae94
movups xmm0, xmmword [ebp - 0x140]
mov eax, dword [ebp - 0x100]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebp - 0x130]
movups xmmword [ecx + 0x10], xmm0
xorps xmm0, xmm0
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x110]
movups xmmword [ecx + 0x30], xmm0
mov dword [ecx + 0x40], eax
add dword [edx + 4], 0x44
jmp 0x1002b33f
lea eax, [ebp - 0x140]
push eax
push ecx
mov ecx, edx
call fcn.1002cf20
jmp 0x1002b33f
mov edx, edi
call fcn.1002c190
jmp 0x1002b33f
lea eax, [ebp - 0x18]
push eax
push 0xc01
call dword [sym.imp.OPENGL32.dll_glGetIntegerv]
mov ecx, dword [ebp - 0xd4]
xor eax, eax
mov esi, dword [sym.imp.OPENGL32.dll_glDrawBuffer]
mov byte [ebp - 0xd9], 0
mov byte [ebp - 0xda], 0
cmp byte [ecx + 0x45], al
mov edx, dword [ecx + 0x6c]
setne al
mov byte [ebp - 0xdb], 0
inc eax
sub edx, eax
cmp byte [ecx + 0x44], 0
mov ecx, dword [sym.imp.OPENGL32.dll_glFlush]
je 0x1002b12b
mov eax, dword [sym.Redline.dll_class_VeriteLib__pLib]
cmp byte [eax + 0x1f0], 0
je 0x1002af7b
mov eax, dword [edi + 4]
cmp eax, edx
jbe 0x1002af37
cmp dword [ebp - 0x18], 0x405
mov byte [ebp - 0xd9], 1
je 0x1002b12b
call ecx
push 0x405
jmp 0x1002b129
cmp eax, 1
je 0x1002af17
mov ecx, dword [ebp - 0xd4]
call fcn.1007cb20
sub esp, 0x18
mov dword [ebp - 0xe0], eax
mov ecx, esp
lea eax, [edi + 0x18]
lea edx, [ebp - 0xe0]
push eax
push 0x31
push str.FillBuffer_textured_fill_tex_id___colour_:08X
call fcn.1002cea0
mov ecx, dword [sym.Redline.dll_class_LogFile__pLog]
add esp, 0xc
call fcn.100335a0
jmp 0x1002b11b
mov ecx, dword [sym.Redline.dll_class_VeriteLib__pLib]
cmp byte [ecx + 0x1c8], 0
je 0x1002b0e9
mov eax, dword [sym.Redline.dll_pAlloc]
mov edx, dword [ecx + 0x320]
mov esi, dword [ecx + 0xcc]
add edx, dword [eax + 0x10]
lea eax, [ecx + 0xcc]
mov dword [ebp - 0xe4], eax
test esi, esi
je 0x1002afe4
cmp dword [esi + 0x218], 0xcafebabe
jne 0x1002afe4
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x1002afe4
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
je 0x1002afe4
sub edx, dword [ecx + 0x5c]
mov eax, edx
xor edx, edx
div dword [ecx + 0x14]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ecx + 0x3c]
jmp 0x1002b031
xor eax, eax
test esi, esi
je 0x1002aff6
cmp dword [esi + 0x218], 0xcafebabe
je 0x1002b01d
xor edx, edx
mov ecx, dword [edi + 4]
cmp ecx, eax
jne 0x1002b04e
cmp dword [ebp - 0x18], 0x404
je 0x1002b12b
mov eax, dword [sym.imp.OPENGL32.dll_glDrawBuffer]
push 0x404
call eax
jmp 0x1002b12b
mov ecx, dword [esi + 0x48]
test ecx, ecx
je 0x1002aff6
mov ecx, dword [ecx + 0x3c]
mov dword [ebp - 0xe0], eax
test ecx, ecx
je 0x1002aff6
mov eax, dword [sym.Redline.dll_class_VeriteLib__pLib]
xor edx, edx
mov eax, dword [eax + 0x324]
sub eax, dword [ecx + 0x5c]
div dword [ecx + 0x14]
mov edx, eax
mov eax, dword [ebp - 0xe0]
jmp 0x1002aff8
cmp ecx, edx
jne 0x1002b07e
cmp dword [ebp - 0x18], 0x405
mov byte [ebp - 0xd9], 1
je 0x1002b12b
mov eax, dword [sym.imp.OPENGL32.dll_glFlush]
call eax
mov eax, dword [sym.imp.OPENGL32.dll_glDrawBuffer]
push 0x405
call eax
jmp 0x1002b12b
mov ecx, dword [sym.Redline.dll_class_VeriteLib__pLib]
cmp byte [ecx + 0x1e4], 0
je 0x1002b12b
mov byte [ebp - 0xda], 1
test esi, esi
je 0x1002b0c6
cmp dword [esi + 0x218], 0xcafebabe
jne 0x1002b0c6
mov esi, dword [esi + 0x48]
test esi, esi
je 0x1002b0c6
mov esi, dword [esi + 0x3c]
test esi, esi
je 0x1002b0c6
mov eax, dword [ecx + 0xb18]
xor edx, edx
sub eax, dword [esi + 0x5c]
div dword [esi + 0x14]
jmp 0x1002b0c8
xor eax, eax
mov edx, dword [ebp - 0xe4]
test eax, eax
push 0
setne byte [ebp - 0xdb]
xor cl, cl
push 3
push 0
call fcn.100782c0
add esp, 0xc
jmp 0x1002b12b
mov ecx, dword [edi + 4]
cmp ecx, edx
jbe 0x1002b10e
cmp dword [ebp - 0x18], 0x405
mov byte [ebp - 0xd9], 1
je 0x1002b12b
mov eax, dword [sym.imp.OPENGL32.dll_glFlush]
call eax
push 0x405
jmp 0x1002b129
mov eax, dword [sym.Redline.dll_class_VeriteLib__pLib]
cmp ecx, dword [eax + 0xd38]
je 0x1002b0f0
cmp dword [ebp - 0x18], 0x404
je 0x1002b12b
push 0x404
call esi
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xec], edi
mov dword [ebp - 0xe8], eax
cmp byte [ecx + 0x44], 0
je 0x1002b280
cmp byte [ecx + 0x45], 0
je 0x1002b273
mov eax, dword [ecx + 0x6c]
mov ecx, dword [edi + 4]
dec eax
cmp ecx, eax
jb 0x1002b273
jne 0x1002b2ee
lea eax, [ebp - 0x19]
push eax
push 0xb72
call dword [sym.imp.OPENGL32.dll_glGetBooleanv]
mov eax, dword [sym.Redline.dll_class_VeriteLib__pLib]
mov esi, dword [sym.imp.OPENGL32.dll_glDepthMask]
push 1
mov byte [eax + 0x78], 0
call esi
mov eax, dword [edi + 0x18]
sub esp, 8
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10100fe0]
divsd xmm0, qword [0x10100ed8]
movsd qword [esp], xmm0
call dword [sym.imp.OPENGL32.dll_glClearDepth]
push 0x100
call dword [sym.imp.OPENGL32.dll_glClear]
cmp byte [ebp - 0x19], 0
jne 0x1002b1dc
push 0
call esi
call dword [sym.imp.OPENGL32.dll_glGetError]
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x1002b2ee
cmp eax, 0x502
jne 0x1002b1fe
mov ecx, str.GL_INVALID_OPERATION
jmp 0x1002b23a
cmp eax, 0x500
jne 0x1002b20c
mov ecx, str.GL_INVALID_ENUM
jmp 0x1002b23a
cmp eax, 0x501
jne 0x1002b21a
mov ecx, str.GL_INVALID_VALUE
jmp 0x1002b23a
cmp eax, 0x503
jne 0x1002b228
mov ecx, str.GL_STACK_OVERFLOW
jmp 0x1002b23a
cmp eax, 0x504
mov ecx, str.GL_STACK_UNDERFLOW
mov edx, str.GL_OUT_OF_MEMORY
cmovne ecx, edx
sub esp, 0x18
mov dword [ebp - 0xe0], ecx
mov ecx, esp
lea eax, [ebp - 0xe4]
lea edx, [ebp - 0xe0]
push str.VL_FillBuffer_GL_Error_during_Depth_buffer_clear
push eax
push 0x15
push str.GL_Error_____:_
call fcn.10003df0
mov ecx, dword [sym.Redline.dll_class_LogFile__pLog]
add esp, 0x10
call fcn.100335a0
jmp 0x1002b2ee
lea ecx, [ebp - 0xf0]
call fcn.1002b370
jmp 0x1002b2ee
lea eax, [ebp - 0x20]
push eax
push 0xb72
call dword [sym.imp.OPENGL32.dll_glGetBooleanv]
mov esi, dword [sym.imp.OPENGL32.dll_glDepthMask]
push 0
call esi
push 0x207
call dword [sym.imp.OPENGL32.dll_glDepthFunc]
push 0xb0
lea eax, [ebp - 0xd0]
push 0
push eax
call fcn.1008e600
add esp, 8
lea ecx, [ebp - 0xd0]
call fcn.1002c9c0
lea ecx, [ebp - 0xf0]
mov dword [ebp - 4], 0
call fcn.1002b370
push dword [ebp - 0x20]
call esi
lea ecx, [ebp - 0xd0]
mov dword [ebp - 4], 0xffffffff
call fcn.1002aad0
mov eax, dword [ebp - 0xd4]
cmp byte [eax + 0x44], 0
je 0x1002b33f
cmp byte [ebp - 0xda], 0
je 0x1002b327
mov edx, dword [sym.Redline.dll_class_VeriteLib__pLib]
xor cl, cl
movzx eax, byte [ebp - 0xdb]
push 0
push eax
push 0
lea edx, [edx + 0xcc]
call fcn.100782c0
add esp, 0xc
jmp 0x1002b33f
cmp byte [ebp - 0xd9], 0
jne 0x1002b336
call dword [sym.imp.OPENGL32.dll_glFlush]
push dword [ebp - 0x18]
call dword [sym.imp.OPENGL32.dll_glDrawBuffer]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10089573
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 5
call fcn.1008b2ff
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.1008b2ff
int3