Function at 0x42fcd0
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
push edi
mov edi, ecx
call esi
cmp byte [edi + 0x1319], 0
je 0x42fcf4
mov ebx, dword [edi + 0x1320]
test ebx, ebx
jns 0x42fcfa
mov ebx, dword [edi + 0x132c]
push 0xfffffffffffffff5
mov dword [edi + 0x187c], ebx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp eax, 0xffffffff
je 0x42fd1e
mov dword [ebp - 4], 0x10000
push dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
push dword [edi + 0x187c]
push 0x439470
call fcn.00401070
add esp, 8
cmp ebx, 4
ja case.default.0x42fd9e
jmp dword [ebx*4 + 0x42ff88]
call esi
cmp byte [edi + 0x1319], 0
je 0x42fd56
mov ebx, dword [edi + 0x1324]
test ebx, ebx
jns 0x42fd5c
mov ebx, dword [edi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [edi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x42fd82
mov dword [ebp - 4], 0x20000
push dword [ebp - 4]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [edi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp ebx, 5
ja case.default.0x42fd9e
jmp dword [ebx*4 + 0x42ff9c]
mov ecx, edi
call fcn.0042ffd0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
call esi
cdq
mov ecx, 0x5a
idiv ecx
lea eax, [edi + 0x138a]
lea esi, [edx + 0xa]
push esi
push str.What_is_the_sum_of_the_positive_integers_from_1_to__d__
push eax
call fcn.004011b0
lea eax, [esi + 1]
add esp, 0xc
imul eax, esi
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [edi + 0x1772]
push 0x439470
push eax
call fcn.004011b0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
cmp byte [edi + 0x1319], 0
je 0x42fe13
mov ebx, dword [edi + 0x1324]
test ebx, ebx
jns 0x42fe19
mov ebx, dword [edi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [edi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x42fe3f
mov dword [ebp - 4], 0x20000
push dword [ebp - 4]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [edi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp ebx, 3
ja case.default.0x42fd9e
jmp dword [ebx*4 + 0x42ffb4]
call esi
cmp byte [edi + 0x1319], 0
je 0x42fe77
mov ebx, dword [edi + 0x1324]
test ebx, ebx
jns 0x42fe7d
mov ebx, dword [edi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [edi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x42fea3
mov dword [ebp - 4], 0x20000
push dword [ebp - 4]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [edi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
sub ebx, 0
je case.0x42fd9e.1
sub ebx, 1
jmp 0x42ff76
call esi
cmp byte [edi + 0x1319], 0
je 0x42fedc
mov ebx, dword [edi + 0x1324]
test ebx, ebx
jns 0x42fee2
mov ebx, dword [edi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [edi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x42ff08
mov dword [ebp - 4], 0x20000
push dword [ebp - 4]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [edi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
test ebx, ebx
jmp 0x42ff7b
call esi
cmp byte [edi + 0x1319], 0
je 0x42ff34
mov ebx, dword [edi + 0x1324]
test ebx, ebx
jns 0x42ff3a
mov ebx, dword [edi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [edi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x42ff60
mov dword [ebp - 4], 0x20000
push dword [ebp - 4]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [edi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
sub ebx, 0
je case.0x42fd9e.1
sub ebx, 1
jne case.default.0x42fd9e
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret