Function at 0x1005e880
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
push ebx
push esi
push edi
push 0x102b4184
push str.app.log
call fcn.1008e547
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
add esp, 8
mov dword [0x10405ae4], eax
test eax, eax
jne 0x1005e8c1
push 0
push str.Error
push str.Failed_to_open_log_file
push dword [0x103f7d20]
call edi
push str.FF7_English_OpenGL_driver_version_2.3___Merged_with_The_Reunion___R06j_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
mov dword [0x10405e3c], 0xde6770
mov dword [0x10405e58], 0x664e30
mov dword [0x10405e5c], 0x414ee0
mov dword [0x10405e78], 0x688c46
push 0x104063e0
mov dword [0x10405e7c], 0x660370
mov dword [0x10405e84], 0x99dda8
mov dword [0x10405ec0], 0x688c96
mov dword [0x10406a60], 0x408ff3
mov dword [0x10406a8c], 0x665d9a
mov dword [0x10406a90], 0x671742
mov dword [0x10406a94], 0x6b27a9
mov dword [0x10406a98], 0x68d2b8
mov dword [0x10406a9c], 0x665793
mov dword [0x10406aa0], 0x67bc5b
mov dword [0x10406aa4], 0x66cc3b
mov dword [0x10406aac], 0x6b26c0
mov dword [0x10406ab0], 0x6b2720
mov dword [0x10406ab4], 0x673f5c
mov dword [0x10406ab8], 0xdbfd38
mov dword [0x10406abc], 0xdc0fc0
mov dword [0x10406ac0], 0x427928
mov dword [0x10406ac4], 0x429322
mov dword [0x10406c68], 0x40a091
mov dword [0x10406a64], 0x41f99e
mov dword [0x10406a68], 0x41f7d8
mov dword [0x10406a6c], 0x9ade28
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0x1005f1c0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push SysStringLen
call dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
mov eax, dword [0x400128]
mov ecx, dword [ebp + 8]
add eax, 0x400000
mov dword [0x10405eb8], eax
call fcn.10063270
mov esi, dword [0x10405e58]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
push 0x40
push 5
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov edx, dword [0x103f7d4c]
movzx ecx, byte [esi]
mov eax, dword [esi + 1]
push 0x10406ca0
mov dword [edx*4 + 0x104042e0], ecx
mov dword [edx*4 + 0x104042e4], eax
lea eax, [edx + 3]
mov dword [0x103f7d4c], eax
mov eax, fcn.10067bf0
sub eax, esi
mov byte [esi], 0xe9
sub eax, 5
mov dword [edx*4 + 0x104042e8], esi
push 0xffffffffffffffff
mov dword [esi + 1], eax
push 0
mov dword [0x10406cc4], 0x9c
mov dword [0x10406cc8], 0x580000
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
call dword [0x10405e44]
mov ebx, eax
mov ecx, dword [ebx + 0x954]
mov dword [0x10406d3c], ecx
mov ecx, dword [ebx + 0x958]
mov dword [0x10406d48], ecx
mov ecx, dword [0x10406d0c]
mov dword [0x103f7cfc], ecx
mov ecx, dword [0x10406d10]
mov dword [0x103f7cec], ecx
mov ecx, dword [0x10406d18]
mov eax, dword [ebx + 0x5c]
push 0
push eax
mov dword [0x103f7d00], ecx
mov dword [0x103f7d20], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x103f7d20]
call dword [sym.imp.USER32.dll_GetDC]
push 0x102d7eac
push eax
mov dword [0x103f7d18], eax
call dword [sym.imp.GDI32.dll_ChoosePixelFormat]
push 0x102d7eac
push eax
push dword [0x103f7d18]
call dword [sym.imp.GDI32.dll_SetPixelFormat]
push dword [0x103f7d18]
call dword [sym.imp.OPENGL32.dll_wglCreateContext]
mov esi, eax
push esi
push dword [0x103f7d18]
call dword [sym.imp.OPENGL32.dll_wglMakeCurrent]
call fcn.10080ae0
cmp byte [0x103f819c], 0
je 0x1005eb80
push esi
call dword [sym.imp.OPENGL32.dll_wglDeleteContext]
push 0x102b0324
push 0
push dword [0x103f7d18]
call dword [0x103f8278]
push eax
push dword [0x103f7d18]
call dword [sym.imp.OPENGL32.dll_wglMakeCurrent]
call fcn.10080ae0
push str.OpenGL_debug_context_created._n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
mov esi, dword [sym.imp.OPENGL32.dll_glGetString]
push 0x1f02
call esi
push eax
push 0x1f01
call esi
push eax
push 0x1f00
call esi
push eax
push str._s__s__s_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x1c
push dword [ebx + 0x9b4]
push dword [0x103f7d20]
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0x65
push dword [ebx + 0x58]
call dword [sym.imp.USER32.dll_LoadIconA]
push eax
push 1
push 0x80
push dword [0x103f7d20]
call dword [sym.imp.USER32.dll_SendMessageA]
push 5
push dword [0x103f7d20]
call dword [sym.imp.USER32.dll_ShowWindow]
cmp dword [0x103f7cb8], 0
je 0x1005ec06
xor ecx, ecx
xor eax, eax
jmp 0x1005ec0d
mov ecx, 1
mov eax, ecx
mov dword [0x103f7cb8], eax
call fcn.1005b610
mov ecx, str.GL_VERSION_2_0
call fcn.10080af0
test al, al
je 0x1005eec3
push str.OpenGL_2.0_support_detected_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
cmp byte [0x103f81cb], 0
je 0x1005ecbc
push str.Found_swap_control_extension_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
cmp dword [0x103f7c98], 0
je 0x1005ec96
push 1
call dword [0x103f8450]
call dword [0x103f8458]
cmp eax, 1
je 0x1005ecd6
push str.Unable_to_turn_on_vsync_n
push dword [0x104072b8]
push 0
push str.GLITCH
jmp 0x1005ecce
push 0
call dword [0x103f8450]
call dword [0x103f8458]
test eax, eax
je 0x1005ecd6
push str.Unable_to_turn_off_vsync_n
push dword [0x104072b8]
push 0
push str.GLITCH
jmp 0x1005ecce
push str.No_swap_control_extension._Cannot_control_vsync._n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
cmp dword [0x103f7c9c], 0
je 0x1005ed31
cmp byte [0x103f8465], 0
je 0x1005ed17
push 0
push 0x1005e6a0
call dword [0x103f834c]
push 1
push 0
push 0
push 0x1100
push 0x1100
push 0x1100
call dword [0x103f83f8]
push str.OpenGL_debugging_supported._n
jmp 0x1005ed1c
push str.OpenGL_debugging_not_supported._n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
mov esi, dword [sym.imp.OPENGL32.dll_glGetIntegerv]
push 0x10405bc8
push 0xd33
call esi
mov eax, dword [0x10405bc8]
push eax
push eax
push str.Max_texture_size:__ix_i_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x18
lea eax, [esp + 0x18]
push eax
push 0x8b4b
call esi
lea eax, [esp + 0x14]
push eax
push 0x8b4a
call esi
lea eax, [esp + 0x10]
push eax
push 0x8b49
call esi
push dword [esp + 0x10]
push dword [esp + 0x18]
push dword [esp + 0x20]
push str.Shader_limits:_varying__i__vert_uniform__i__frag_uniform__i_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
mov edx, dword [0x10407ac0]
add esp, 0x1c
mov ecx, dword [0x10407ac4]
push str.main
call fcn.10066c40
add esp, 4
mov dword [0x103f7d3c], eax
test eax, eax
je 0x1005eef8
push eax
call dword [0x103fae28]
mov eax, dword [0x103f7d3c]
mov dword [0x103f7d48], eax
test eax, eax
je 0x1005ee03
push 0
push 0x102b3f64
push eax
call dword [0x103fade0]
push eax
call dword [0x103fade8]
mov eax, dword [0x103f7d48]
push 1
push str.vertexcolor
push eax
call dword [0x103fade0]
push eax
call dword [0x103fade8]
cmp dword [0x103f7c78], 0
je 0x1005ee73
cmp dword [0x103f7d1c], 0
je 0x1005ee73
push str.postprocessing
mov edx, 0x104074c0
xor ecx, ecx
call fcn.10066c40
add esp, 4
mov dword [0x103f7d40], eax
test eax, eax
jne 0x1005ee73
cmp dword [0x103f7c80], eax
push str.init_postprocessing_failed__postprocessing_will_be_disabled_n
push dword [0x104072a8]
setne al
push eax
push str.ERROR
call fcn.10067cf0
add esp, 0x10
mov dword [0x103f7c78], 0
cmp dword [0x103f7c70], 0
je 0x1005eeb3
cmp byte [0x103f8317], 0
jne 0x1005eeb3
xor eax, eax
cmp dword [0x103f7c80], eax
push str.No_FBO_support._Cannot_generate_mipmaps._n
push dword [0x104072a8]
setne al
push eax
push str.ERROR
call fcn.10067cf0
add esp, 0x10
mov dword [0x103f7c70], 0
call fcn.10068230
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.No_OpenGL_2.0_support_detected_n
push dword [0x104072bc]
push 0
push str.INFO
call fcn.10067cf0
add esp, 0x10
push 0
push str.Error
push str.OpenGL_renderer_does_not_support_OpenGL_2.0._nYour_graphics_drivers_are_probably_not_up_to_date._nShaders_are_required_in_order_to_use_The_Reunion._n
push dword [0x103f7d20]
call edi
push 1
call fcn.100927ba
xor eax, eax
cmp dword [0x103f7c80], eax
push str.failed_to_load_shaders_n
push dword [0x104072a8]
setne al
push eax
push str.ERROR
call fcn.10067cf0
add esp, 0x10
push 0
push str.Error
push str.Failed_to_load_shaders__check_APP.LOG_for_more_information.
push dword [0x103f7d20]
call edi
push 1
call fcn.100927ba
int3