Function at 0x402bd0
Capabilities:
Terminate process

Disassembly:
push ebp
lea ebp, [esp - 0x84]
sub esp, 0x84
push 0xffffffffffffffff
push 0x404004
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x409450]
xor eax, ebp
mov dword [ebp + 0x80], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 2
call esi
or eax, 2
push eax
call esi
mov dword [ebp - 4], 0
call fcn.00402790
call dword [sym.imp.aif_core.dll_public:_static_void___cdecl_AIF::Core::Library::initialize_void_]
lea ecx, [ebp - 0x12]
call dword [sym.imp.aif_ogl.dll_public:_void___thiscall_AIF::OGL::Library::InitOptions::constructor_void_]
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.aif_ogl.dll_public:_static_void___cdecl_AIF::OGL::Library::initialize_class_AIF::OGL::Library::InitOptions_const__]
add esp, 4
lea ecx, [ebp - 0x12]
mov byte [ebp - 4], 0
call dword [sym.imp.aif_ogl.dll_public:_void___thiscall_AIF::OGL::Library::InitOptions::destructor_void_]
push 0x1bc
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x402c85
call dword [sym.imp.aif_ogl.dll_public:_static_struct__DISPLAY_DEVICEA_const____cdecl_AIF::OGL::Context::primaryDisplayDevice_void_]
push eax
mov ecx, esi
call dword [sym.imp.aif_ogl.dll_public:_void___thiscall_AIF::OGL::ContextOffscreen::constructor_struct__DISPLAY_DEVICEA_const__]
mov dword [esi], vtable.AIF::OGL::ContextOffscreen.0
mov ebx, esi
jmp 0x402c87
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 3
test ebx, ebx
jne 0x402cb8
push str.Enforce_apContext.get_____NULL
push 0x25b
push str........._source_applications_sniffer_gpumain.cpp
lea ecx, [ebp]
call dword [sym.imp.aif_core.dll_public:_void___thiscall_AIF::InternalException::constructor_char_const___int__char_const__]
push 0x406cc8
lea eax, [ebp]
push eax
call sub.MSVCR100.dll__CxxThrowException
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
call dword [sym.imp.aif_ogl.dll_public:_static_class_AIF::OGL::ExtensionManager____cdecl_AIF::OGL::ExtensionManager::Instance_void_]
push 0x1f00
mov esi, eax
call sub.OPENGL32.dll_glGetString
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.Vendor_string:
push ecx
mov edi, eax
call fcn.00401b20
add esp, 8
push edi
push eax
call fcn.00401b20
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x1f01
call sub.OPENGL32.dll_glGetString
mov edi, eax
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.Renderer_string:
push eax
call fcn.00401b20
add esp, 8
push edi
push eax
call fcn.00401b20
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x1f02
call sub.OPENGL32.dll_glGetString
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.Version_string:
push edx
mov edi, eax
call fcn.00401b20
add esp, 8
push edi
push eax
call fcn.00401b20
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str._nOpenGL_version_as_determined_by_Extensionator..._n
push edx
call fcn.00401b20
add esp, 8
push esi
call fcn.00402580
add esp, 4
test al, al
jne 0x402d9c
push 0
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.Has_NPOT_support:
push eax
call fcn.00401b20
mov edi, dword [sym.imp.aif_ogl.dll_public:_bool___thiscall_AIF::OGL::ExtensionManager::isSupported_enum_AIF::OGL::teExtension_const]
add esp, 8
push 0x3e
mov ecx, esi
call edi
test al, al
je 0x402f9e
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.TRUE
push ecx
call fcn.00401b20
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.Has_Framebuffer_Object_Extension_support:
push eax
call fcn.00401b20
add esp, 8
push 0x78
mov ecx, esi
call edi
test al, al
je 0x402f9e
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.TRUE
push ecx
call fcn.00401b20
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x2e
mov ecx, esi
call edi
test al, al
je 0x402f51
push 0x30
mov ecx, esi
call edi
test al, al
je 0x402f51
call fcn.00402040
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.OpenGL_ok
push eax
call fcn.00401b20
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
xor esi, esi
mov edi, 1
mov dword [ebp + 0x78], 0xf
mov dword [ebp + 0x74], esi
mov byte [ebp + 0x64], 0
lea edx, [ebp + 0x64]
push edx
push ebx
mov byte [ebp - 4], 4
call fcn.00401460
add esp, 8
test al, al
je 0x402ec9
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.OpenCL_ok__version
push eax
call fcn.00401b20
add esp, 8
lea ecx, [ebp + 0x64]
push ecx
push eax
call fcn.00401d70
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push edx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
lea edi, [esi + 3]
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
mov dword [ebp - 0x14], esi
call dword [sym.imp.aif_ogl.dll_public:_static_void___cdecl_AIF::OGL::Library::terminate_void_]
call dword [sym.imp.aif_core.dll_public:_static_void___cdecl_AIF::Core::Library::terminate_void_]
call fcn.004022d0
cmp dword [ebp + 0x78], 0x10
jb 0x402ef9
mov eax, dword [ebp + 0x64]
push eax
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push ecx
push edi
push str.Return_code:
push edx
mov dword [ebp - 4], 0xffffffff
call fcn.00401b20
add esp, 8
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x80]
xor ecx, ebp
call fcn.0040333a
lea esp, [ebp + 0x84]
pop ebp
ret
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push str.Has_Shading_Language_support:_FALSE
push eax
call fcn.00401b20
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push str.Return_code:_0
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push edx
call fcn.00401b20
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
add esp, 8
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0
call dword [sym.imp.MSVCR100.dll_exit]
push str.FALSE
jmp 0x402f78