Function at 0x41915b
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe28
mov eax, dword [0x6673c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
push esi
mov dword [ebp - 0xe0c], ebx
call fcn.0041a833
pop ecx
test al, al
jne 0x4198fd
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov edi, 0x104
lea eax, [ebp - 0x208]
push edi
push 0
push eax
call fcn.00452360
add esp, 0xc
lea eax, [ebp - 0x208]
push edi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edi, 0x80
lea eax, [ebp - 0x104]
push edi
push 0
push eax
call fcn.00452360
push edi
xor edi, edi
lea eax, [ebp - 0x84]
push edi
push eax
call fcn.00452360
push edi
push edi
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x208]
push eax
call fcn.0045c1b6
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x104]
push eax
push str._s_s
push 0x6a9f00
call fcn.0040674a
add esp, 0x3c
push 0x3ff
push 0x6aa300
push 0xffffffffffffffff
push 0x6a9f00
push edi
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [0x6a9768], ebx
call fcn.00418fa0
push 0x400
xor ebx, ebx
lea eax, [ebp - 0xa08]
push ebx
push eax
call fcn.00452360
mov edi, 0x6a9f00
lea eax, [ebp - 0xa08]
push edi
push str._slic.dat
push eax
call fcn.0040674a
push 0x6aab80
lea eax, [ebp - 0xa08]
push 0x6aab00
push eax
call fcn.00419ba9
push 0x400
lea eax, [ebp - 0xe08]
push ebx
push eax
call fcn.00452360
push edi
lea eax, [ebp - 0xe08]
push 0x47d2e8
push eax
call fcn.0040674a
lea eax, [ebp - 0xe08]
push eax
call fcn.0041d987
add esp, 0x40
push esi
call fcn.0041ac84
pop ecx
cmp byte [0x64abaf], bl
jne 0x4192ca
mov byte [0x64abae], bl
cmp byte [0x64abfc], bl
mov ebx, dword [sym.imp.core3d.dll_public:_void___cdecl_oZone3D_nsp::o3TraceMgr::logTrace_enum_O3_TRACE_LEVEL__char__]
mov edi, dword [sym.imp.core3d.dll_public:_static_class_oZone3D_nsp::o3TraceMgr____cdecl_oZone3D_nsp::o3TraceMgr::getInstance_void_]
push 4
pop esi
je 0x419381
push esi
call edi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_void___thiscall_oZone3D_nsp::o3TraceMgr::setTraceLevel_enum_O3_TRACE_LEVEL_]
push 0x6a9f00
call edi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_void___thiscall_oZone3D_nsp::o3TraceMgr::setLogFileFolder_char__]
push str.furmark_
call edi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_void___thiscall_oZone3D_nsp::o3TraceMgr::setLogFileName_char__]
push 0
push 0
push 0x26
push 1
push 0x47d30c
push 0x47d314
push str._s__s__d._d._d._d_is_starting_up...
push esi
call edi
push eax
call ebx
add esp, 0x24
push str.New_FurMark_2_with_OpenGL_and_Vulkan_support:_https:__geeks3d.com_furmark_v2_
push esi
call edi
push eax
call ebx
add esp, 0xc
push str.Discord_server:_https:__geeks3d.com_discord_
push esi
call edi
push eax
call ebx
add esp, 0xc
push 0x6a9f00
push 0x47d3c0
push str._s_folder:__s
push esi
call edi
push eax
call ebx
add esp, 0x14
call edi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_char_const____thiscall_oZone3D_nsp::o3TraceMgr::getFullLogFileName_void_]
test eax, eax
je 0x41938b
push eax
push str.Log_file:__s
push esi
call edi
push eax
call ebx
add esp, 0x10
jmp 0x41938b
call edi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_void___thiscall_oZone3D_nsp::o3TraceMgr::disable_void_]
push str.Shcore.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp dword [0x64abd4], 1
mov esi, eax
jne 0x4193c0
test esi, esi
je 0x4193c0
push str.SetProcessDpiAwareness
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4193b9
push 2
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [0x64a938], 0
mov eax, dword [0x64a988]
mov dword [0x6b3e60], eax
je 0x4193f7
push 0
push 0
push 0x26
push 1
push 0x47d40c
push 0x47d414
push str._s__s_v_d._d._d._d
call fcn.00419910
add esp, 0x1c
jmp 0x4198fd
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push dword [0x64a964]
mov dword [0x6a9794], eax
push esi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
cmp byte [0x64abaf], 0
je 0x4194bb
xor eax, eax
push eax
push eax
push 1
push 2
push 0x20
push 0x20
push eax
push eax
push eax
call fcn.00426080
mov ecx, eax
call fcn.00426fb0
test al, al
jne 0x419459
push 0x47d430
push 0x47d438
call fcn.004199dc
pop ecx
pop ecx
jmp 0x4198fd
call fcn.00426080
mov ecx, eax
call fcn.004268c0
test al, al
jne 0x41948c
push str.Graphics_drivers_detection_failed.
push 2
call edi
push eax
call ebx
push 0x47d494
push str.Could_not_initialize_ZoomGPU.__s_startup_failed._Bye_
call fcn.004199dc
add esp, 0x14
jmp 0x4198f1
call fcn.00413394
test al, al
je 0x4194bb
xor eax, eax
push eax
push eax
push eax
push 0x414a9b
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
push str.GPU_monitoring_thread_started_up_ok.
push 4
mov dword [0x6b3e64], eax
call edi
push eax
call ebx
add esp, 0xc
mov esi, dword [sym.imp.core3d.dll_public:_static_class_oZone3D_nsp::oZone3D____cdecl_oZone3D_nsp::oZone3D::getInstance_void_]
push 0
push 1
push 2
call esi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_bool___thiscall_oZone3D_nsp::oZone3D::startup_int__int__char_const__]
call dword [sym.imp.core3d.dll_public:_static_class_oZone3D_nsp::o3Renderer____cdecl_oZone3D_nsp::o3Renderer::getInstance_void_]
mov eax, dword [eax + 4]
test eax, eax
je 0x4198cf
xor ecx, ecx
cmp dword [eax + 8], ecx
je 0x4198cf
cmp dword [0x6a987c], ecx
jne 0x419516
call dword [sym.imp.core3d.dll_public:_static_class_oZone3D_nsp::o3Renderer____cdecl_oZone3D_nsp::o3Renderer::getInstance_void_]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x419507
mov ecx, dword [ecx + 8]
jmp 0x419509
xor ecx, ecx
call dword [sym.imp.core3d.dll_public:_int___thiscall_oZone3D_nsp::o3HardwareCaps::getMaxViewportSize_void_]
mov dword [0x6a987c], eax
xor ecx, ecx
mov al, byte [0x64ab9b]
mov edx, 0x2d0
cmp dword [0x64a97c], 0
mov byte [0x6b3f68], al
mov al, byte [0x64ab9a]
setne byte [0x6b3f6b]
mov byte [0x6b3f69], al
mov al, byte [0x64a980]
mov byte [0x6b3f6a], al
mov al, byte [0x64a98e]
mov byte [0x6b3f6c], al
mov al, byte [0x64a98f]
mov byte [0x6b3f6d], al
mov al, byte [0x64ab9c]
mov byte [0x6b3f6e], al
mov al, byte [0x64ab9d]
mov byte [0x6b3f6f], al
mov eax, dword [0x64aba0]
mov dword [0x6b3f70], eax
mov eax, dword [0x64a928]
mov dword [0x6b3f84], eax
cmp eax, edx
jne 0x41958f
push edx
push 0x500
jmp 0x4195c0
mov edx, 0x438
cmp eax, edx
jne 0x4195a0
push edx
push 0x780
jmp 0x4195c0
mov edx, 0x5a0
cmp eax, edx
jne 0x4195b1
push edx
push 0xa00
jmp 0x4195c0
mov edx, 0x870
cmp eax, edx
jne 0x4195c9
push edx
push 0xf00
push ecx
call fcn.0041c1c0
add esp, 0xc
cmp dword [0x64a928], 0
jne 0x41963f
mov ecx, dword [0x64a950]
xor eax, eax
cmp dword [0x64a94c], eax
mov edx, dword [0x64a958]
mov esi, dword [0x64a95c]
setne al
mov dword [0x64a908], eax
mov dword [0x6a985c], eax
mov eax, dword [0x64a954]
mov dword [0x6a98a4], eax
mov eax, dword [0x64a940]
mov dword [0x64a900], eax
mov eax, dword [0x64a944]
mov dword [0x64a904], eax
mov eax, dword [0x64a948]
mov dword [0x6a98a0], eax
mov eax, dword [0x64ac00]
mov dword [0x64a90c], ecx
mov dword [0x6a98a8], edx
mov dword [0x6a98ac], esi
mov dword [0x6a98b0], eax
jmp 0x419651
mov ecx, dword [0x64a90c]
mov edx, dword [0x6a98a8]
mov esi, dword [0x6a98ac]
xor eax, eax
inc eax
mov dword [0x64a910], eax
cmp edx, eax
jae 0x419666
xor eax, eax
mov dword [0x64a910], eax
jmp 0x419668
xor eax, eax
test esi, esi
je 0x419671
mov dword [0x64a910], eax
cmp dword [0x64a928], 0
jne 0x41968b
test edx, edx
jne 0x419682
test esi, esi
je 0x41968b
xor ecx, ecx
inc ecx
mov dword [0x64a90c], ecx
cmp byte [0x64a98f], 0
je 0x4196c9
mov dword [0x6a9858], eax
mov dword [0x64a908], eax
mov dword [0x6a98a4], eax
mov dword [0x6b3f2c], ecx
mov dword [0x64a950], ecx
mov dword [0x6b3f84], eax
call fcn.00408016
push 0
push 0x41c442
push 0
push 0xb0
jmp 0x4196e5
cmp dword [0x64a92c], 0
je 0x4196f3
call fcn.0041be13
push 0
push 0x41c595
push 0
push 0x81
push dword [ebp - 0xe0c]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x419728
call fcn.00408016
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x419716
cmp dword [ebp - 0xe24], 0x12
je 0x419728
lea eax, [ebp - 0xe28]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
xor eax, eax
push eax
push eax
push eax
lea eax, [ebp - 0xe28]
push eax
call esi
test eax, eax
jne 0x419700
mov eax, dword [0x6a9770]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
test eax, eax
je 0x419741
push eax
call esi
and dword [0x6a9770], 0
mov eax, dword [0x6a976c]
test eax, eax
je 0x41978e
push eax
call esi
xor esi, esi
lea eax, [ebp - 0x608]
push 0x400
push esi
push eax
mov dword [0x6a976c], esi
call fcn.00452360
push 0x6a9f00
lea eax, [ebp - 0x608]
push str._sstartup_options.xml
push eax
call fcn.0040674a
lea eax, [ebp - 0x608]
push eax
call fcn.0041df69
add esp, 0x1c
jmp 0x419790
xor esi, esi
call fcn.0041b599
call fcn.0041bdb6
mov eax, dword [0x6a9790]
test eax, eax
je 0x4197b0
push eax
call fcn.004514bd
pop ecx
mov dword [0x6a9790], esi
call fcn.004078b7
call fcn.00413dd8
push esi
call dword [sym.imp.core3d.dll_public:_static_class_oZone3D_nsp::oZone3D____cdecl_oZone3D_nsp::oZone3D::getInstance_void_]
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_bool___thiscall_oZone3D_nsp::oZone3D::shutdown_class_oZone3D_nsp::o3RenderWindow__]
call fcn.00426080
mov ecx, eax
call fcn.00426bb0
mov eax, dword [0x6b3f9c]
test eax, eax
je 0x4197eb
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x6b3f9c], esi
mov eax, dword [0x6a9760]
test eax, eax
je 0x419802
push esi
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [0x6a9760], esi
push 0x47d558
push 0x47d560
push str._s__s_shutdown_OK.
push 4
call edi
push eax
call ebx
add esp, 0x14
cmp dword [0x64a90c], 1
jne 0x4198fd
cmp byte [0x64a98c], 0
je 0x4198fd
cmp dword [0x64a910], 0
movss xmm0, dword [0x6a978c]
push ecx
push ecx
movss dword [esp + 4], xmm0
lea ecx, [ebp - 0x2b8]
movss xmm0, dword [0x6a9788]
movss dword [esp], xmm0
push dword [0x6a985c]
push dword [0x6a98b8]
push dword [0x64a8fc]
push dword [0x64a8f8]
je 0x4198ab
push dword [0x6a98a8]
push 1
push dword [0x6a9ee8]
push 0x6a98c0
push 0x47d57c
call fcn.0041a1d1
mov esi, dword [0x6a9ee8]
lea ecx, [ebp - 0x2b8]
call fcn.00416960
mov eax, esi
jmp 0x4198ff
push dword [0x6a98ac]
push esi
push dword [0x6a9864]
push 0x6a98c0
push str.furmark_scores.txt
call fcn.0041a1d1
mov esi, dword [0x6a9864]
jmp 0x41989c
push 0x47d4fc
push str.Could_not_startup_the_renderer.__s_initialization_failed.
call fcn.004199dc
pop ecx
pop ecx
call fcn.00413dd8
push 0
call esi
mov ecx, eax
call dword [sym.imp.core3d.dll_public:_bool___thiscall_oZone3D_nsp::oZone3D::shutdown_class_oZone3D_nsp::o3RenderWindow__]
call fcn.00426080
mov ecx, eax
call fcn.00426bb0
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004510dc
leave
ret 0x10