Function at 0x40ee20
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xe8
mov eax, dword [0x67f3c0]
xor eax, esp
mov dword [esp + 0xe4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [esp + 0x40]
push edi
push 0
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], 1
push eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x80
push 0x40
push 0x40
push 1
push 0x67
push esi
mov dword [esp + 0x30], 3
mov dword [esp + 0x34], 0x40f420
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], esi
call dword [sym.imp.USER32.dll_LoadImageW]
push 0x7f00
push 0
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorW]
push 0
mov dword [esp + 0x34], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], str.DofusLauncher.UI
call dword [sym.imp.USER32.dll_RegisterClassW]
push 0
push esi
push 0
push 0
push 1
push 1
push connect
push connect
push connect
push str.DofusLauncher.UI
push str.DofusLauncher.UI
push 0x80020
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, eax
push 1
push edi
mov dword [esp + 0x1c], edi
call dword [sym.imp.USER32.dll_ShowWindow]
push edi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x20
call dword [sym.imp.d3d9.dll_Direct3DCreate9]
mov ecx, eax
mov dword [0x6829dc], ecx
test ecx, ecx
je 0x40f3c2
push 0x6829e0
push 0x6829e4
push 0x40
xorps xmm0, xmm0
mov dword [0x6829f8], 0
push edi
push 1
movlpd qword [0x6829e4], xmm0
movlpd qword [0x6829f0], xmm0
mov dword [0x682a00], 0
movlpd qword [0x682a10], xmm0
mov dword [0x682a04], 1
mov dword [0x6829fc], 1
mov dword [0x6829ec], 0
mov dword [0x682a08], 1
mov dword [0x682a0c], 0x50
mov dword [0x682a18], 1
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x40]
test eax, eax
js 0x40f3bc
push 2
push 0x14
push 0x10
push 8
push 0x438
push 0x37c0
push str.1.88
call fcn.0046adb0
add esp, 0x1c
push 0
call fcn.0046a930
add esp, 4
call fcn.00474e90
push 0
mov dword [esp + 0x14], eax
or dword [eax], 0x401
mov byte [eax + 0x90], 0
call fcn.0048e5d0
add esp, 4
call fcn.004755e0
mov esi, eax
call fcn.00474e90
movaps xmm0, xmmword [0x672270]
lea ecx, [esp + 0x70]
mov dword [esi + 0x10], 0x40400000
mov dword [esi + 0x2c], 0x40400000
mov dword [esi + 0x44], 0x40400000
movups xmmword [esi + 0xf8], xmm0
movaps xmm0, xmmword [0x672260]
movups xmmword [esi + 0xe8], xmm0
movaps xmm0, xmmword [0x672290]
movups xmmword [esi + 0x218], xmm0
movaps xmm0, xmmword [0x6722a0]
movups xmmword [esi + 0x388], xmm0
call fcn.00487320
mov esi, dword [esp + 0x10]
push 0
push 0
push ecx
mov dword [esp], 0x41800000
push 0x1ca58
mov byte [esp + 0xbc], 1
mov dword [esp + 0xb4], 0x41800000
mov ecx, dword [esi + 0x38]
push 0x61ed80
call fcn.00487f10
push 0x67150c
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esi + 0x38]
mov dword [esp], 0x41c00000
push 0x1d3ed
push 0x5b41f8
call fcn.00487f10
push 0x67150c
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esi + 0x38]
mov dword [esp], 0x41600000
push 0x4d798
push 0x5d15e8
call fcn.00487f10
push 0
push 0
push ecx
mov ecx, dword [esi + 0x38]
mov dword [esp], 0x41800000
push 0x1d1c3
push 0x597030
call fcn.00487f10
push 0x67150c
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esi + 0x38]
mov dword [esp], 0x41c00000
push 0x1d3ed
push 0x5b41f8
call fcn.00487f10
push 0x67150c
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esi + 0x38]
mov dword [esp], 0x41600000
push 0x4d798
push 0x5d15e8
call fcn.00487f10
call fcn.004755e0
test dword [esi], 0x400
je 0x40f171
mov dword [eax + 0xf4], 0
push edi
mov byte [eax + 0xbc], 1
mov byte [eax + 0xbe], 1
call fcn.00497190
add esp, 4
push dword [0x6829e0]
call fcn.00460040
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
add esp, 4
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
xor al, al
mov dword [esp + 0xc], eax
push 1
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
call esi
test eax, eax
je 0x40f206
nop dword [eax + eax]
lea eax, [esp + 0x54]
push eax
call edi
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
mov eax, dword [esp + 0xc]
mov ecx, 1
cmp dword [esp + 0x58], 0x12
push ecx
movzx eax, al
push 0
cmove eax, ecx
push 0
mov dword [esp + 0x18], eax
lea eax, [esp + 0x60]
push 0
push eax
call esi
test eax, eax
jne 0x40f1c0
cmp byte [esp + 0xc], al
jne 0x40f33a
call fcn.004601a0
call fcn.00497420
call fcn.0047b270
cmp byte [0x6827a8], 0
je 0x40f225
call fcn.0040b140
jmp 0x40f235
movss xmm0, dword [0x672084]
movaps xmm1, xmm0
call fcn.0040a790
call fcn.00473020
mov eax, dword [0x6829e0]
push 0
push 7
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x6829e0]
push 0
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x6829e0]
push 0
push 0xae
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x6829e0]
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 [0x6829e0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x40f2c9
call fcn.0047cb00
call fcn.00474c20
push eax
call fcn.00460210
mov eax, dword [0x6829e0]
add esp, 4
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa8]
mov eax, dword [esp + 0x10]
test dword [eax], 0x400
je 0x40f2e6
call fcn.004838a0
push 0
push 0
call fcn.0047dfb0
add esp, 8
mov ecx, dword [0x6829e0]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x40f1a8
mov eax, dword [0x6829e0]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x40f1a8
call fcn.004600d0
mov eax, dword [0x6829e0]
push 0x6829e4
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
call fcn.0045fd40
jmp 0x40f1a8
call fcn.00460c10
call fcn.00497a30
push 0
call fcn.0046b0c0
add esp, 4
push dword [esp + 0x40]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov ecx, dword [0x6829e0]
test ecx, ecx
je 0x40f372
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x6829e0], 0
mov ecx, dword [0x6829dc]
test ecx, ecx
je 0x40f38c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x6829dc], 0
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x28]
push dword [esp + 0x40]
call dword [sym.imp.USER32.dll_UnregisterClassW]
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0xe4]
xor ecx, esp
call fcn.00511a59
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [0x6829dc]
mov edx, dword [0x6829e0]
test edx, edx
je 0x40f3e2
mov eax, dword [edx]
push edx
call dword [eax + 8]
mov ecx, dword [0x6829dc]
mov dword [0x6829e0], 0
test ecx, ecx
je 0x40f3f6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x6829dc], 0
push dword [esp + 0x28]
push dword [esp + 0x40]
call dword [sym.imp.USER32.dll_UnregisterClassW]
mov ecx, dword [esp + 0xec]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.00511a59
mov esp, ebp
pop ebp
ret 0x10