Function at 0x414a40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x48e080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
call fcn.0042d050
push 0
mov dword [ebp - 0x5c], 0x30
mov dword [ebp - 0x58], 0x40
mov dword [ebp - 0x54], 0x414580
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x48], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x34], str.maniac
push eax
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
push 0
push dword [ebp - 0x48]
push 0
push 0
push 0x1a4
push 0x226
push 0x64
push 0x64
push 0xcf0000
push str.maniac
push dword [ebp - 0x34]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ebx, eax
lea eax, [ebp - 0x1c]
push 0x10
push eax
mov dword [ebp - 0x24], ebx
call fcn.004147a0
add esp, 8
cmp dword [eax + 0x14], 0xf
jbe 0x414af0
mov eax, dword [eax]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x414b2e
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x414b24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x414b24
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00458ca2
add esp, 8
push 0x20
call sub.d3d9.dll_Direct3DCreate9
mov ecx, eax
mov dword [0x48e918], ecx
test ecx, ecx
je 0x414e61
push 0x48e91c
push 0x48e920
push 0x40
xorps xmm0, xmm0
mov dword [0x48e934], 0
push ebx
push 1
movlpd qword [0x48e920], xmm0
movlpd qword [0x48e92c], xmm0
mov dword [0x48e93c], 0
movlpd qword [0x48e94c], xmm0
mov dword [0x48e940], 1
mov dword [0x48e938], 1
mov dword [0x48e928], 0
mov dword [0x48e944], 1
mov dword [0x48e948], 0x50
mov dword [0x48e954], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
test eax, eax
js 0x414e61
push esi
push edi
push 0xa
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 2
push 0x14
push 0x10
push 8
push 0x418
push 0x3790
push str.1.88_WIP
call fcn.0041c290
push 0
call fcn.0041be40
call fcn.0041df30
push 0
or dword [eax], 1
call fcn.00435e00
push ebx
call fcn.0042d160
push dword [0x48e91c]
call fcn.0042c5a0
add esp, 0x2c
call fcn.0041df30
push 0
push 0
mov ecx, dword [eax + 0x38]
push ecx
mov dword [esp], 0x41800000
push 0x31af
push 0x45f5d0
call fcn.0042f7b0
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
xor bl, bl
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0x78]
push eax
call esi
test eax, eax
je 0x414ca8
nop word [eax + eax]
lea eax, [ebp - 0x78]
push eax
call edi
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [ebp - 0x74], 0x12
mov eax, 1
push eax
push 0
push 0
movzx ebx, bl
cmove ebx, eax
lea eax, [ebp - 0x78]
push 0
push eax
call esi
test eax, eax
jne 0x414c70
test bl, bl
jne 0x414df3
call fcn.0042c670
call fcn.0042d2a0
call fcn.00423d10
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0x28], 0
push 0
push eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
call fcn.00428450
add esp, 0xc
push 0
call fcn.0041df30
add eax, 8
push eax
call fcn.004284a0
mov eax, dword [ebp - 0x20]
add esp, 8
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x414e8d
mov eax, dword [ecx]
call dword [eax + 8]
call fcn.0041ca60
mov eax, dword [0x48e91c]
push 0
push 7
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x48e91c]
push 0
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x48e91c]
push 0
push 0xae
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x48e91c]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0xff728c99
push 3
push 0
push 0
push eax
call dword [ecx + 0xac]
mov eax, dword [0x48e91c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x414d9f
call fcn.004255f0
call fcn.0041ddf0
push eax
call fcn.0042c6b0
mov eax, dword [0x48e91c]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa8]
mov ecx, dword [0x48e91c]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x414c58
mov eax, dword [0x48e91c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x414c58
call fcn.0042c600
mov eax, dword [0x48e91c]
push 0x48e920
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
call fcn.0042c410
jmp 0x414c58
call fcn.0042cf70
call fcn.0042d570
push 0
call fcn.0041c540
mov ecx, dword [0x48e91c]
add esp, 4
pop edi
pop esi
test ecx, ecx
je 0x414e23
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x48e91c], 0
mov ecx, dword [0x48e918]
pop ebx
test ecx, ecx
je 0x414e3e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x48e918], 0
push dword [ebp - 0x24]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [ebp - 0x48]
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00458f01
mov esp, ebp
pop ebp
ret
call fcn.00414520
push dword [ebp - 0x48]
push dword [ebp - 0x34]
call dword [sym.imp.USER32.dll_UnregisterClassA]
push str.could_not_create_d3d_device
lea ecx, [ebp - 0x10]
call fcn.0040a230
push 0x48a5d8
lea eax, [ebp - 0x10]
push eax
call sub.VCRUNTIME140.dll__CxxThrowException
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
int3