Function at 0x4438d0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov eax, dword [0x490540]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, dword [0x491b20]
add edi, 0xd89840
push edi
push 0x476a80
push 1
push 0
push 0x476af0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
js 0x443c11
mov eax, dword [0x491b20]
push ebx
add eax, 0x15be7fc
push eax
lea eax, [ebp - 0x108]
push str._s_s
push eax
call fcn.004576b2
push 0x208
lea eax, [ebp - 0x310]
push 0
push eax
call fcn.00456940
add esp, 0x1c
lea eax, [ebp - 0x310]
push 0x104
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, dword [edi]
lea edx, [edi + 0x18]
push edx
push 0x476ac0
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x318], edx
call dword [eax]
mov eax, dword [edi]
lea edx, [ebp - 0x310]
push 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [edi]
lea edx, [edi + 4]
push edx
push 0x476ae0
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x314], edx
call dword [eax]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [edi]
lea edx, [edi + 8]
push edx
push 0x476ad0
push ecx
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [edi]
lea eax, [edi + 0xc]
push eax
push 0x476a90
push ecx
mov edx, dword [ecx]
call dword [edx]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [edi]
lea ebx, [edi + 0x10]
push ebx
push 0x476ab0
push ecx
mov eax, dword [ecx]
call dword [eax]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [edi]
lea eax, [edi + 0x14]
push eax
push 0x476aa0
push ecx
mov edx, dword [ecx]
call dword [edx]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [edi + 8]
mov eax, dword [0x491b20]
push 0
push 0x8001
mov edx, dword [ecx]
push dword [eax + 0x15bdfc4]
push ecx
call dword [edx + 0x34]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [ebx]
mov eax, dword [0x491b20]
mov edx, dword [ecx]
push dword [eax + 0x15bdfc4]
push ecx
call dword [edx + 0x74]
mov esi, eax
test esi, esi
js 0x443c11
mov eax, dword [ebx]
push 0x46000000
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov esi, eax
test esi, esi
js 0x443c11
mov edi, dword [0x488128]
mov eax, edi
mov ecx, dword [0x48812c]
shr eax, 0x1f
movss xmm3, dword [0x46f568]
movd xmm0, edi
cvtdq2pd xmm0, xmm0
movss xmm4, dword [0x46f564]
addsd xmm0, qword [eax*8 + 0x46f570]
mov eax, ecx
shr eax, 0x1f
cvtpd2ps xmm2, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
divss xmm2, xmm3
addsd xmm0, qword [eax*8 + 0x46f570]
cvtpd2ps xmm1, xmm0
divss xmm1, xmm4
comiss xmm1, xmm2
jbe 0x443ad8
movaps xmm1, xmm2
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, xmm3
mulss xmm1, xmm4
cvttss2si esi, xmm0
cvttss2si edx, xmm1
sub edi, esi
sub ecx, edx
shr edi, 1
push edx
cmovs edi, eax
shr ecx, 1
push esi
cmovs ecx, eax
mov eax, dword [ebx]
mov dword [ebp - 0x31c], ecx
push dword [ebp - 0x31c]
mov ecx, dword [eax]
push edi
push eax
call dword [ecx + 0x9c]
mov esi, eax
test esi, esi
js 0x443c11
mov eax, dword [ebx]
push 5
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov esi, eax
test esi, esi
js 0x443c11
mov eax, dword [ebx]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x4c]
mov esi, eax
test esi, esi
js 0x443c11
mov eax, dword [0x491b20]
push 5
push dword [eax + 0x15bdfc4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebx]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x90]
mov esi, eax
test esi, esi
js 0x443c11
mov ecx, dword [ebx]
mov eax, dword [0x491b20]
mov edx, dword [ecx]
push dword [eax + 0x15bdfc4]
push ecx
call dword [edx + 0x7c]
mov esi, eax
test esi, esi
js 0x443c11
mov eax, dword [ebx]
push 0xffffffffffffffff
push eax
mov ecx, dword [eax]
call dword [ecx + 0x94]
mov eax, dword [0x491b20]
push dword [eax + 0x15bdfc4]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x491b20]
push dword [eax + 0x15bdfc4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x491b20]
push dword [eax + 0x15bdfc4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 0x318]
push 0xfffffc18
mov eax, dword [ecx]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov ecx, dword [ebp - 0x314]
mov eax, dword [ecx]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [0x491b20]
pop edi
pop esi
pop ebx
or dword [eax + 0x15bec5c], 0x4000
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00456922
mov esp, ebp
pop ebp
ret
push 0
push str.ERROR
push str.movie_init_failed
push 0
call fcn.00439f60
mov ecx, dword [ebp - 4]
add esp, 0x10
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00456922
mov esp, ebp
pop ebp
ret