Function at 0x401fc0
Capabilities:
Get common file path
Set console window title
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x404a67
mov eax, dword fs:[0]
push eax
sub esp, 0x1a8
mov eax, dword [0x407018]
xor eax, esp
mov dword [esp + 0x1a0], eax
push ebx
push esi
push edi
mov eax, dword [0x407018]
xor eax, esp
push eax
lea eax, [esp + 0x1b8]
mov dword fs:[0], eax
push 0x40529c
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xb
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x40
push 0xaa
push 0xfa
push 1
call esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x55
push eax
xor ebx, ebx
push ebx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
cdq
sub eax, edx
sar eax, 1
sub eax, 0x7d
push eax
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
lea eax, [esp + 0x18]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov ecx, dword [esp + 0x26]
mov edx, dword [esp + 0x28]
sub ecx, dword [esp + 0x22]
sub edx, dword [esp + 0x24]
inc ecx
inc edx
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
mov eax, dword [esp + 0x14]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
call edi
mov esi, eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
and eax, 0xfffeffff
push eax
push 0xfffffffffffffff0
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
lea ecx, [esp + 0xa4]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [esp + 0xa4]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4020e0
sub eax, esi
mov edi, eax
lea eax, [esp + 0xa4]
lea esi, [esp + 0x50]
call fcn.00403570
mov edx, esi
push edx
lea eax, [esp + 0x8c]
push eax
mov dword [esp + 0x1c8], ebx
call fcn.004038a0
add esp, 8
mov byte [esp + 0x1c0], 1
mov edi, 1
mov eax, 0x40549c
lea esi, [esp + 0x34]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.00403570
mov ecx, esi
push ecx
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x1cc], 2
call fcn.00403ae0
add esp, 0xc
mov ecx, eax
lea eax, [esp + 0x6c]
mov byte [esp + 0x1c0], 3
call fcn.00403aa0
mov edi, 0x10
mov byte [esp + 0x1c0], 5
cmp dword [esp + 0x2c], edi
jb 0x402194
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
push str.PointBlank.exe
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
call fcn.00401630
add esp, 4
push str.CB.exe
call fcn.00401630
mov edx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char______cdecl_std::endl_class_std::basic_ostream_char__struct_std::char_traits_char____]
mov eax, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
add esp, 4
push edx
push ecx
push str.Start_Point_Blank
push eax
call fcn.00401090
add esp, 0xc
mov ecx, eax
call dword [sym.imp.MSVCP100.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
cmp dword [0x40a3e4], ebx
jne 0x4021e1
call fcn.00401430
cmp eax, 0xffffffff
je 0x4021e1
call fcn.004018f0
mov esi, eax
push esi
push ebx
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edx, dword [esp + 0x6c]
cmp dword [esp + 0x80], edi
jae 0x402218
lea edx, [esp + 0x6c]
mov ecx, esi
call fcn.00401d90
test al, al
je 0x402252
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xa
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov ecx, dword [sym.imp.MSVCP100.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x4054b8
push ecx
call fcn.00401090
add esp, 8
mov dword [0x40a3e4], 1
push 0xfa0
call dword [sym.imp.KERNEL32.dll_Sleep]
push ebx
call dword [sym.imp.KERNEL32.dll_ExitProcess]