Function at 0x43ea30
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441880
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x44b030]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0x65
call fcn.00401035
add esp, 8
mov dword [0x44cd18], eax
test eax, eax
jne 0x43ea7c
push str._n_Error_load_File_.xm_n
call fcn.00404050
jmp 0x43ea82
push eax
call fcn.0040115e
add esp, 4
mov dword [0x44cd48], 0x30
mov dword [0x44cd4c], 0x40
mov dword [0x44cd50], 0x43baa0
mov dword [0x44cd54], 0
push 0
mov dword [0x44cd58], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov dword [0x44cd70], 0x4484ac
push 0x44cd48
movups xmmword [0x44cd60], xmm0
mov dword [0x44cd5c], 0
call dword [sym.imp.USER32.dll_RegisterClassExA]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x20]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x18]
add eax, 0xfffffed6
cdq
push 0
push dword [0x44cd5c]
sub eax, edx
mov esi, eax
mov eax, dword [ebp - 0x14]
push 0
push 0
push 0x14a
lea eax, [eax - 0x14a]
sar esi, 1
cdq
push 0x12a
sub eax, edx
sar eax, 1
push eax
push esi
push SysReAllocString
push 0x442466
push str.Codegen
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
push 0xa
push eax
mov dword [0x44cd40], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x44cd40]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x20
mov dword [ebp - 4], 0
call dword [sym.imp.d3d9.dll_Direct3DCreate9]
mov ecx, eax
mov dword [0x44cd3c], ecx
test ecx, ecx
je 0x43ec05
push 0x44cd44
push 0x44cd78
push 0x40
push dword [0x44cd40]
xorps xmm0, xmm0
mov dword [0x44cd8c], 0
push 1
movlpd qword [0x44cd78], xmm0
movlpd qword [0x44cd84], xmm0
mov dword [0x44cd94], 0
movlpd qword [0x44cda4], xmm0
mov dword [0x44cd98], 1
mov dword [0x44cd90], 1
mov dword [0x44cd80], 0
mov dword [0x44cd9c], 1
mov dword [0x44cda0], 0x50
mov dword [0x44cdac], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
call fcn.0043bc40
cmp byte [0x44b064], 0
je 0x43ee46
call fcn.0043c1e0
call fcn.0043d3e0
mov dword [ebp - 4], 1
call fcn.0040bf00
mov ecx, dword [0x44cd44]
push 0
push 7
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x44cd44]
push 0
push 0x1b
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x44cd44]
push 0
push 0xae
push ecx
mov eax, dword [ecx]
call dword [eax + 0xe4]
mov ecx, dword [0x44cd44]
push 0
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
push 0xff000000
push 3
push 0
push 0
push ecx
call dword [eax + 0xac]
mov eax, dword [0x44cd44]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x43ecce
call fcn.0040c2e0
mov eax, dword [0x44b6d0]
xor ecx, ecx
mov eax, dword [eax + 0x49ec]
mov eax, dword [eax]
add eax, 0x38
cmp byte [eax], cl
cmovne ecx, eax
call fcn.0042cb80
mov eax, dword [0x44cd44]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
mov ecx, dword [0x44cd44]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x43ed2f
mov eax, dword [0x44cd44]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x43ed2f
mov byte [ebp - 4], 2
call fcn.0042d280
mov ecx, dword [0x44cd44]
push 0x44cd78
push ecx
mov eax, dword [ecx]
call dword [eax + 0x40]
mov eax, dword [0x44b6d0]
test eax, eax
je 0x43ed2f
mov eax, dword [eax + 0x74]
test eax, eax
je 0x43ed2f
cmp dword [eax], 0
je 0x43ed2f
call fcn.0042d0b0
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.0043e980
mov esi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
cmp esi, 0xff67697f
jne 0x43ed54
cmp ebx, 0x7fffffff
je 0x43ed7b
cmp ebx, 0x7fffffff
jg 0x43ed6a
jl 0x43ed66
cmp esi, 0xff67697f
jae 0x43ed6a
or al, 0xff
jmp 0x43ed6c
mov al, 1
test al, al
jns 0x43ed7b
add esi, 0x989680
adc ebx, 0
jmp 0x43ed83
or esi, 0xffffffff
mov ebx, SysReAllocString
mov dword [ebp - 0x24], esi
lea ecx, [ebp - 0x30]
call fcn.0043e980
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp esi, ecx
jne 0x43eda0
cmp ebx, eax
je 0x43ee39
cmp ebx, eax
jg 0x43edae
jl 0x43edaa
cmp esi, ecx
jae 0x43edae
or al, 0xff
jmp 0x43edb0
mov al, 1
test al, al
jle 0x43ee39
call dword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
push 0
push 0x64
push edx
push eax
call fcn.00440bd0
mov esi, eax
mov ecx, ebx
mov eax, dword [ebp - 0x24]
mov edi, edx
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
sbb ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
mov edx, ecx
mov ecx, eax
call fcn.00440c80
comisd xmm0, xmmword [0x4485d0]
jbe 0x43edff
add esi, 0xad160000
adc edi, 0x311cd
jmp 0x43ee05
add esi, dword [ebp - 0x34]
adc edi, dword [ebp - 0x38]
push 0
push 0x3b9aca00
push edi
push esi
call fcn.00440a40
mov dword [ebp - 0x20], eax
imul eax, eax, 0x3b9aca00
mov dword [ebp - 0x1c], edx
sub esi, eax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x18], esi
call dword [sym.imp.MSVCP140.dll__Thrd_sleep]
mov esi, dword [ebp - 0x24]
add esp, 4
jmp 0x43ed86
cmp byte [0x44b064], 0
jne 0x43ec17
call fcn.0043bfa0
mov dword [ebp - 4], 3
mov ecx, dword [0x44cd44]
test ecx, ecx
je 0x43ee6c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x44cd44], 0
mov ecx, dword [0x44cd3c]
test ecx, ecx
je 0x43ee86
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x44cd3c], 0
push dword [0x44cd40]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [0x44cd5c]
push dword [0x44cd70]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043f92b
mov esp, ebp
pop ebp
ret 0x10