Function at 0x407d40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x522298]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push edi
push 0x7f00
push 0
mov dword [0x649040], 0x30
mov dword [0x649044], 0x40
mov dword [0x649048], 0x407140
mov dword [0x64904c], 0
mov dword [0x649050], 0
mov dword [0x649054], 0
call esi
push 0x7f00
push 0
mov dword [0x649058], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
mov dword [0x64905c], eax
mov dword [0x649060], 0
mov dword [0x649064], 0x5144cc
mov dword [0x649068], 0x5144d8
call esi
push 0x649040
mov dword [0x64906c], eax
call dword [sym.imp.USER32.dll_RegisterClassExW]
movsx eax, word [0x6414ba]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esp + 0x10], eax
movsx eax, word [0x6414b8]
push 1
mov dword [esp + 0x54], eax
call esi
cdq
sub eax, edx
mov edi, eax
movsx eax, word [0x6414ba]
cdq
sub eax, edx
sar edi, 1
sar eax, 1
push 0
sub edi, eax
call esi
push 0
push 0
push 0
cdq
sub eax, edx
push 0
push dword [esp + 0x20]
mov ecx, eax
movsx eax, word [0x6414b8]
push dword [esp + 0x64]
cdq
sub eax, edx
sar ecx, 1
push edi
sar eax, 1
sub ecx, eax
push ecx
push closesocket
push dword [0x649064]
push dword [0x649068]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0xffffffffffffffec
push eax
mov dword [0x648d60], eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [0x648d60]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 2
push 0xff
push 0
push dword [0x648d60]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
movaps xmm0, xmmword [0x515cd0]
lea eax, [esp + 0x70]
push eax
push dword [0x648d60]
movups xmmword [esp + 0x78], xmm0
call dword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
push 0x64902c
push dword [0x648d60]
xorps xmm0, xmm0
movups xmmword [0x64902c], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [0x648d60]
xorps xmm0, xmm0
push 0x648d64
mov dword [esp + 0x44], eax
lea eax, [esp + 0x54]
push eax
push 0x648d70
push 0x648d68
lea eax, [esp + 0x24]
movlpd qword [esp + 0x38], xmm0
push eax
push 7
push 2
lea eax, [esp + 0x8c]
mov dword [esp + 0x58], 2
push eax
push 0
push 0
push 1
push 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0x1c
mov dword [esp + 0x4c], 0x3c
mov dword [esp + 0x50], 1
mov dword [esp + 0x7c], 2
mov dword [esp + 0x68], 0x20
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], 0
mov dword [esp + 0xa0], 0xb000
mov dword [esp + 0xa4], 0xa000
call dword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
je 0x407fc1
call fcn.00406070
push dword [0x648d60]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [0x649054]
push dword [0x649068]
call dword [sym.imp.USER32.dll_UnregisterClassA]
jmp 0x407ff8
mov eax, dword [0x648d68]
lea edx, [esp + 0x10]
push edx
push 0x5144bc
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [0x648d70]
push 0x648d6c
push 0
push dword [esp + 0x18]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov eax, dword [esp + 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 0xa
push dword [0x648d60]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x648d60]
call dword [sym.imp.USER32.dll_UpdateWindow]
push ecx
call fcn.004060e0
add esp, 4
cmp byte [0x6414b4], 0
je 0x4080f8
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
call fcn.00407cb0
push 1
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
call esi
test eax, eax
je 0x408083
nop dword [eax]
lea eax, [esp + 0x54]
push eax
call edi
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [esp + 0x58], 0x12
jne 0x408070
mov byte [0x6414b4], 0
push 1
push 0
push 0
push 0
lea eax, [esp + 0x64]
push eax
call esi
test eax, eax
jne 0x408050
call fcn.00406c30
mov eax, dword [0x648d64]
xorps xmm0, xmm0
push 0
push 0x648d6c
movaps xmmword [esp + 0x78], xmm0
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x84]
mov eax, dword [0x648d64]
lea edx, [esp + 0x70]
push edx
push dword [0x648d6c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc8]
mov eax, dword [0x648d90]
xor ecx, ecx
mov eax, dword [eax + 0x47f8]
mov eax, dword [eax]
add eax, 0x38
cmp byte [eax], cl
cmovne ecx, eax
call fcn.00409400
mov eax, dword [0x648d68]
push 0
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
cmp byte [0x6414b4], 0
jne 0x408034
mov esi, dword [0x648d90]
test esi, esi
je 0x408107
mov edi, dword [esi + 0x74]
jmp 0x408109
xor edi, edi
call fcn.0040a190
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x40811b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [edi]
test ecx, ecx
je 0x408127
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x408134
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
and dword [esi + 0xc], 0xfffffff7
mov eax, dword [0x648d90]
mov dword [esi + 0x6c], 0
mov dword [esi + 0x74], 0
test eax, eax
je 0x408155
dec dword [eax + 0xac]
push edi
call fcn.004ba048
mov eax, dword [0x648d90]
add esp, 4
test eax, eax
je 0x40816c
mov edi, dword [eax + 0x70]
jmp 0x40816e
xor edi, edi
mov ecx, dword [edi + 0x28]
lea esi, [eax + 8]
test ecx, ecx
je 0x408184
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [0x648d90]
and dword [esi + 4], 0xfffffff8
mov dword [esi + 0x60], 0
mov dword [esi + 0x68], 0
test eax, eax
je 0x4081a0
dec dword [eax + 0xac]
push edi
call fcn.004ba048
mov esi, dword [0x648d90]
add esp, 4
mov dword [0x648d90], esi
call fcn.0040fbc0
mov dword [0x648d90], 0
test esi, esi
je 0x4081e7
mov ecx, esi
call fcn.00423740
mov eax, dword [0x648d90]
test eax, eax
je 0x4081de
dec dword [eax + 0xac]
push esi
call fcn.004ba048
add esp, 4
call fcn.00406070
push dword [0x648d60]
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [0x649054]
push dword [0x649068]
call dword [sym.imp.USER32.dll_UnregisterClassA]
mov ecx, dword [esp + 0x8c]
xor eax, eax
pop edi
pop esi
xor ecx, esp
call fcn.004b3f14
mov esp, ebp
pop ebp
ret