Function at 0x4014f0
Capabilities:
Delete file
Manipulate console buffer
Set console window title

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
mov eax, dword [0x4217f4]
xor eax, esp
mov dword [esp + 0x240], eax
push ebx
push esi
push edi
push 0x10
call fcn.00407693
mov edi, eax
xor ebx, ebx
add esp, 4
mov dword [edi], 4
mov dword [edi + 4], 2
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
call fcn.00401c10
mov eax, edi
call fcn.00401c10
push 0x41e420
mov dword [esp + 0x1c], edi
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov esi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call esi
mov edi, eax
lea eax, [esp + 0x34]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
lea ecx, [esp + 0x34]
push ecx
push edi
mov dword [esp + 0x40], ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
push 0x41e464
push 0x422810
call fcn.00404320
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00402170
mov edx, dword [edi]
mov eax, dword [edx + 4]
test byte [eax + edi + 0xc], 6
jne 0x4015b1
mov eax, dword [eax + edi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4015b1
mov ebx, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
test ebx, ebx
je 0x4015d2
mov eax, dword [ecx + 0xc]
or eax, ebx
cmp dword [ecx + 0x38], 0
jne 0x4015ca
or eax, 4
push 0
push eax
call fcn.00401310
push 0x41e430
push edi
call fcn.00404320
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00402170
mov edx, dword [edi]
mov eax, dword [edx + 4]
xor ebx, ebx
test byte [eax + edi + 0xc], 6
jne 0x401610
mov eax, dword [eax + edi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401610
mov ebx, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
test ebx, ebx
je 0x401631
mov eax, dword [ecx + 0xc]
or eax, ebx
cmp dword [ecx + 0x38], 0
jne 0x401629
or eax, 4
push 0
push eax
call fcn.00401310
lea ebx, [esp + 0x40]
call fcn.00401af0
push 0
call fcn.00407357
add esp, 4
push eax
call fcn.00406f2b
xor edi, edi
add esp, 4
mov dword [esp + 0x20], edi
call fcn.00406f3d
cdq
mov ecx, 0x24
idiv ecx
mov dword [esp + 0x34], edx
call fcn.00406f3d
cdq
mov ecx, 0x14
idiv ecx
push str.pause
mov dword [esp + 0x20], edi
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x40], edx
call fcn.00406e1d
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
add esp, 4
jmp 0x4016a0
cmp byte [esp + 0x12], 0
je 0x4017ef
push 0x41e4a4
call fcn.00406e1d
add esp, 4
mov dword [esp + 0x28], 0x60010
mov ecx, dword [esp + 0x28]
push ecx
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e4a8
push 0x422810
call fcn.00404320
add esp, 8
mov dword [esp + 0x24], 0x80017
mov ecx, dword [esp + 0x24]
push ecx
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e4cc
push 0x422810
call fcn.00404320
add esp, 8
mov dword [esp + 0x2c], 0x90017
mov ecx, dword [esp + 0x2c]
push ecx
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e4e4
push ecx
push edi
push ecx
cmp edi, 0xa
jl 0x40172c
push 0x41e4ec
jmp 0x401731
push 0x41e4fc
push 0x422810
call fcn.00404320
add esp, 0xc
push eax
call fcn.00401f90
add esp, 4
push eax
call fcn.00404320
add esp, 8
mov dword [esp + 0x30], 0xa0017
mov ecx, dword [esp + 0x30]
push ecx
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e4cc
push 0x422810
call fcn.00404320
add esp, 8
call fcn.004072db
mov dword [esp + 0x1c], eax
cmp eax, 0xd
je 0x40178e
cmp eax, 0x20
jne 0x401776
cmp eax, 0xd
jne 0x4017e6
mov edi, dword [esp + 0x18]
mov byte [esp + 0x12], 0
push edi
mov edi, dword [edi + 0xc]
call fcn.00406f5e
add esp, 4
test edi, edi
jne 0x401797
push 0x10
call fcn.00407693
mov edi, eax
xor eax, eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
add esp, 4
mov eax, edi
mov dword [edi], 4
mov dword [edi + 4], 2
call fcn.00401c10
mov eax, edi
call fcn.00401c10
mov dword [esp + 0x18], edi
xor edi, edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
jmp 0x4017ef
cmp eax, 0x20
je 0x401ab8
call fcn.00407319
test eax, eax
je 0x401808
call fcn.004072db
mov dword [esp + 0x1c], eax
cmp eax, 0xe0
je 0x4017f8
cmp byte [esp + 0x13], 0
jne 0x401828
cmp dword [esp + 0x1c], 0xd
jne 0x401840
mov byte [esp + 0x13], 1
mov dword [esp + 0x1c], 0
jmp 0x4019d9
cmp dword [esp + 0x1c], 0xd
jne 0x4019d9
mov byte [esp + 0x13], 0
mov dword [esp + 0x1c], 0
xor edx, edx
mov ecx, edx
push ecx
push 0xfffffffffffffff5
mov dword [esp + 0x1c], edx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
push 0xc
push 0xfffffffffffffff5
call esi
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
push 0x41e50c
push ecx
push edi
push ecx
push 0x41e528
push 0x422810
call fcn.00404320
add esp, 0xc
push eax
call fcn.00401f90
add esp, 4
push eax
call fcn.00404320
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.00402170
mov edx, dword [edi]
mov eax, dword [edx + 4]
xor ebx, ebx
test byte [eax + edi + 0xc], 6
jne 0x4018bd
mov eax, dword [eax + edi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4018bd
mov ebx, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
test ebx, ebx
je 0x4018de
mov eax, dword [ecx + 0xc]
or eax, ebx
cmp dword [ecx + 0x38], 0
jne 0x4018d6
or eax, 4
push 0
push eax
call fcn.00401310
mov eax, dword [esp + 0x1c]
cmp eax, 0x57
je 0x4018f1
cmp eax, 0x77
je 0x4018f1
cmp eax, 0x48
jne 0x401946
mov ecx, dword [esp + 0x18]
cmp dword [ecx], 2
je 0x40194a
mov ebx, ecx
mov edx, 1
mov edi, ebx
mov eax, edi
mov edi, dword [edi + 0xc]
cmp eax, ebx
jne 0x401912
test edx, edx
jne 0x401912
mov edx, dword [ebx]
mov ecx, dword [eax]
mov dword [eax], edx
mov edx, ecx
mov ecx, dword [eax]
cmp ecx, 1
jne 0x401924
dec dword [eax + 8]
jmp 0x401940
cmp ecx, 2
jne 0x40192e
inc dword [eax + 8]
jmp 0x401940
cmp ecx, 3
jne 0x401938
dec dword [eax + 4]
jmp 0x401940
cmp ecx, 4
jne 0x401940
inc dword [eax + 4]
test edi, edi
jne 0x401903
jmp 0x4019a6
mov ecx, dword [esp + 0x18]
cmp eax, 0x53
je 0x401959
cmp eax, 0x73
je 0x401959
cmp eax, 0x50
jne 0x401965
cmp dword [ecx], 1
je 0x401965
mov edx, 2
jmp 0x40199d
cmp eax, 0x41
je 0x401974
cmp eax, 0x61
je 0x401974
cmp eax, 0x4b
jne 0x401980
cmp dword [ecx], 4
je 0x401980
mov edx, 3
jmp 0x40199d
cmp eax, 0x44
je 0x40198f
cmp eax, 0x64
je 0x40198f
cmp eax, 0x4d
jne 0x40199b
cmp dword [ecx], 3
je 0x40199b
mov edx, 4
jmp 0x40199d
xor edx, edx
mov edi, dword [esp + 0x18]
call fcn.00401ca0
lea edx, [esp + 0x12]
push edx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x40]
push edx
push eax
call fcn.00401d00
add esp, 0x14
push 0x17
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [esp + 0x20]
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
cmp edi, 0x62
jl 0x4016a0
push 0xc
push 0xfffffffffffffff5
call esi
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTextAttribute]
mov dword [esp + 0x14], 0x80010
mov eax, dword [esp + 0x14]
push eax
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e52c
push 0x422810
call fcn.00404320
add esp, 8
mov dword [esp + 0x14], 0x90010
mov eax, dword [esp + 0x14]
push eax
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e548
push 0x422810
call fcn.00404320
add esp, 8
mov dword [esp + 0x14], 0xa0010
mov eax, dword [esp + 0x14]
push eax
push 0xfffffffffffffff5
call esi
push eax
call ebx
push 0x41e52c
push 0x422810
call fcn.00404320
add esp, 8
mov dword [esp + 0x14], 0x150000
mov eax, dword [esp + 0x14]
push eax
push 0xfffffffffffffff5
call esi
push eax
call ebx
push str.pause
call fcn.00406e1d
add esp, 4
lea ecx, [esp + 0x40]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, dword [esp + 0x18]
push edi
mov edi, dword [edi + 0xc]
call fcn.00406f5e
add esp, 4
test edi, edi
jne 0x401a91
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.004067cd
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x18]
lea esp, [esp]
push edi
mov edi, dword [edi + 0xc]
call fcn.00406f5e
add esp, 4
test edi, edi
jne 0x401ac0
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push edi
call fcn.0040762b
int3