Function at 0x40f970
Capabilities:
Set console window title

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x465f72
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x48b060]
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 ecx
push 0xa
push 0x48dae0
mov ecx, 0x48bb14
call fcn.00409ef0
test eax, eax
mov eax, dword [0x48bb10]
mov ecx, dword [eax + 4]
je 0x40f9ce
add ecx, 0x48bb10
xor edx, edx
mov eax, 4
cmp dword [ecx + 0x38], edx
cmovne eax, edx
jmp 0x40f9e6
add ecx, 0x48bb10
xor eax, eax
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push 0
push eax
call fcn.004030f0
mov edx, 0x485494
mov dword [0x48bbc0], 0x48bb10
mov ecx, 0x48bb10
mov byte [0x48bbc4], 0
call fcn.0040a980
push 0x485f28
push str.INFO_:__App_Started
mov ecx, 0x48bbc0
mov byte [0x48bbc5], 1
call fcn.0040ae30
mov ecx, eax
call fcn.0040ae30
call fcn.0040e4c0
test al, al
je 0x410011
push str.en_US.utf8
push 0
call fcn.0042fec0
add esp, 8
push 0x4854b8
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x40fa8d
push 0x485f28
mov byte [0x48bbc5], 1
call esi
push eax
push str.ERROR_:__Cant_set_title_with_error
mov ecx, 0x48bbc0
call fcn.0040ae30
mov ecx, eax
call fcn.0040b430
mov ecx, eax
call fcn.0040ae30
push 1
push 0x40f850
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x40faca
push 0x485f28
mov byte [0x48bbc5], 1
call esi
push eax
push str.ERROR_:__Cant_set_handeler_with_error
mov ecx, 0x48bbc0
call fcn.0040ae30
mov ecx, eax
call fcn.0040b430
mov ecx, eax
call fcn.0040ae30
cmp dword [0x48de10], 0
je 0x40fada
mov al, 1
jmp 0x40fb6e
call fcn.00413b50
mov dword [0x48de10], eax
test eax, eax
je 0x40fb6c
push eax
call fcn.00413be0
mov esi, eax
add esp, 4
cmp esi, 0x20000000
jne 0x40fb03
mov al, 1
jmp 0x40fb6e
mov eax, dword [0x48de10]
test eax, eax
je 0x40fb2a
push eax
call fcn.00413f80
push dword [0x48de10]
call fcn.00414110
add esp, 8
mov dword [0x48de10], 0
push 0x485f28
push 0x40db60
push esi
push 0x40db80
push str.ERROR_:_Cant_Connect_to_VIGEM_with_error_0x
mov ecx, 0x48bbc0
mov byte [0x48bbc5], 1
call fcn.0040ae30
mov ecx, eax
call fcn.0040dc40
mov ecx, eax
call fcn.0040b2f0
mov ecx, eax
call fcn.0040dc40
mov ecx, eax
call fcn.0040ae30
xor al, al
sub esp, 0x1c
mov byte [0x48d860], al
mov esi, esp
lea eax, [ebp - 0x11]
mov dword [ebp - 0x1c], eax
push 8
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
call fcn.0040bb70
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [esi], eax
mov ecx, 0x48d9d8
mov dword [ebp - 4], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0xf
mov byte [esi + 4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fbd2
sub ecx, edx
push ecx
push 0x48d9d8
mov ecx, esi
call fcn.00408f50
mov ecx, 0x48dc10
mov dword [ebp - 4], 0xffffffff
call fcn.00403f90
mov bl, byte [0x48d861]
add esp, 0x1c
and bl, 0xfd
mov ecx, 0x48dc3c
or bl, 1
mov byte [0x48d861], bl
push 0x483c8b
call fcn.0040c290
mov edi, dword [0x48dc58]
xor al, 1
shl al, 2
xor ecx, ecx
and bl, 0xfb
mov edx, 0x20c
or al, bl
cmp dword [0x48de10], ecx
mov byte [0x48d861], al
mov eax, dword [0x48d874]
setne cl
and eax, 0xfffffffe
mov dword [ebp - 0x18], edi
or ecx, eax
mov eax, edi
mov dword [0x48d874], ecx
xor ecx, ecx
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00417ff0
add esp, 4
mov dword [ebp - 0x24], eax
push 0x4044f0
push 0x404390
push edi
lea esi, [eax + 4]
mov dword [ebp - 4], 1
push 0x20c
push esi
mov dword [eax], edi
call fcn.00418250
xorps xmm0, xmm0
mov dword [0x48d9d4], esi
movq qword [ebp - 0x20], xmm0
xor ebx, ebx
mov dword [ebp - 4], 2
cmp byte [0x48dc5c], bl
je 0x40fd12
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x48d874
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x48d861
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x48dadc
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x48dc10
push eax
push 0x48dc58
sub esp, 8
lea ecx, [ebp - 0x34]
call fcn.00411990
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x30], ebx
jne 0x41002f
jmp 0x40fd15
mov edi, dword [ebp - 0x1c]
mov esi, 3
nop word [eax + eax]
cmp byte [0x48bb08], 0
je 0x40fd35
call fcn.0040e740
mov byte [0x48bb08], 0
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x48d863], 0
je 0x40fe31
mov eax, dword [0x48d864]
test eax, eax
jne 0x40ff37
test edi, edi
je 0x40fd66
lea ecx, [ebp - 0x20]
call fcn.0040d070
mov edi, dword [ebp - 0x1c]
mov eax, dword [0x48d9d4]
test eax, eax
je 0x40fd9f
push 0x4044f0
lea esi, [eax - 4]
mov byte [ebp - 4], 3
push dword [esi]
push 0x20c
push eax
call fcn.00418080
imul eax, dword [esi], 0x20c
add eax, 4
push eax
push esi
call fcn.00418060
add esp, 8
mov byte [ebp - 4], 2
mov eax, dword [0x48de10]
test eax, eax
je 0x40fdc6
push eax
call fcn.00413f80
push dword [0x48de10]
call fcn.00414110
add esp, 8
mov dword [0x48de10], 0
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 0x485f28
push str.INFO_:__App_Stopped
mov ecx, 0x48bbc0
mov byte [0x48bbc5], 1
call fcn.0040ae30
mov ecx, eax
call fcn.0040ae30
mov ecx, 0x48bb14
call fcn.00408bf0
test eax, eax
jne 0x40fe24
mov eax, dword [0x48bb10]
push 0
mov ecx, dword [eax + 4]
xor eax, eax
add ecx, 0x48bb10
cmp dword [ecx + 0x38], eax
sete al
lea eax, [eax*4 + 2]
or eax, dword [ecx + 0xc]
push eax
call fcn.004030f0
test edi, edi
jne 0x410034
jmp 0x410011
call fcn.004301c1
test eax, eax
je 0x40ff32
call fcn.0042ffb0
push eax
call fcn.00430540
add esp, 4
cmp al, 0x73
jne 0x40fef9
mov eax, dword [0x48d864]
cmp eax, 2
jne 0x40fe7a
cmp dword [0x48de08], 0
je 0x40ff37
mov dword [0x48de08], 3
jmp 0x40ff37
test eax, eax
jne 0x40ff37
test edi, edi
je 0x40fe91
lea ecx, [ebp - 0x20]
call fcn.0040d070
mov edi, dword [ebp - 0x1c]
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x48d874
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x48d861
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x48dadc
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0x48dc10
push eax
push 0x48dc58
sub esp, 8
lea ecx, [ebp - 0x34]
call fcn.00411990
test edi, edi
jne 0x41002f
mov ecx, dword [eax]
mov edi, dword [eax + 4]
mov dword [eax], 0
mov dword [eax + 4], 0
cmp dword [ebp - 0x30], 0
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edi
jne 0x41002f
jmp 0x40ff32
cmp al, 0x69
jne 0x40ff18
cmp byte [0x48d8cc], 0
mov byte [0x48bb08], 1
sete byte [0x48d8cc]
inc ebx
jmp 0x40fd20
cmp al, 0x63
jne 0x40ff32
mov eax, dword [0x48de08]
test eax, eax
mov byte [0x48d863], 1
cmovne eax, esi
mov dword [0x48de08], eax
mov eax, dword [0x48d864]
cmp byte [0x48bb08], 0
jne 0x41000b
mov ecx, dword [0x48de08]
cmp ecx, eax
je 0x40ff5c
mov eax, ecx
mov byte [0x48bb08], 1
mov dword [0x48d864], eax
test eax, eax
je 0x40ff8a
cmp byte [0x48dc6c], 0
je 0x40ff8a
mov eax, dword [0x48dbec]
sub eax, dword [0x48dbe8]
sar eax, 2
mov byte [0x48dc6c], 0
mov dword [0x48d86c], eax
mov byte [0x48bb08], 1
mov eax, 0x51eb851f
mov ecx, ebx
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x32
sub ecx, eax
jne 0x40fff2
call fcn.00412ef0
mov esi, eax
xor edx, edx
xor ecx, ecx
mov dword [0x48d8c8], esi
test esi, esi
jle 0x40ffd8
nop dword [eax]
movzx eax, byte [ecx*8 + 0x48d87c]
add eax, dword [ecx*8 + 0x48d878]
inc ecx
shr edx, 1
add edx, eax
cmp ecx, esi
jl 0x40ffc0
mov esi, 3
cmp dword [0x48d868], edx
je 0x40fff2
mov dword [0x48d868], edx
mov byte [0x48bb08], 1
mov eax, dword [0x48de0c]
cmp eax, dword [0x48d870]
je 0x41000b
mov dword [0x48d870], eax
mov byte [0x48bb08], 1
inc ebx
jmp 0x40fd20
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.00417840
mov esp, ebp
pop ebp
ret
call fcn.0042b2a0
call fcn.0042b2a0
int3