Function at 0x42bd60
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
mov esi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov ebx, ecx
push edi
mov dword [esp + 0x14], ebx
call esi
cmp byte [ebx + 0x1319], 0
je 0x42bd8d
mov edi, dword [ebx + 0x1324]
test edi, edi
jns 0x42bd93
mov edi, dword [ebx + 0x1330]
push 0xfffffffffffffff5
mov dword [ebx + 0x1880], edi
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp eax, 0xffffffff
je 0x42bdb9
mov dword [esp + 0x10], 0x20000
push dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
push dword [ebx + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp edi, 4
ja case.default.0x42be01
jmp dword [edi*4 + 0x42c0c4]
mov ecx, ebx
call fcn.0042c0f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
and eax, 0x80000003
jns 0x42bdf8
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
ja case.default.0x42be01
jmp dword [eax*4 + 0x42c0d8]
call esi
cdq
mov ecx, 0x401
idiv ecx
lea esi, [edx + 0xa]
push esi
lea eax, [ebx + 0x138a]
push str.What_whole_number_is_closest_to_the_square_root_of__d__
push eax
call fcn.004011b0
movd xmm0, esi
add esp, 0xc
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
addss xmm0, dword [0x47284c]
cvttss2si eax, xmm0
jmp 0x42bece
call esi
cdq
mov ecx, 0x2328
idiv ecx
lea esi, [edx + 0x3e8]
jmp 0x42be15
call esi
cdq
mov ecx, 0x32
idiv ecx
lea esi, [edx + 0x32]
mov eax, esi
imul eax, esi
push eax
lea eax, [ebx + 0x138a]
push str.What_whole_number_is_the_square_root_of__d__
push eax
call fcn.004011b0
add esp, 0xc
push esi
jmp 0x42becf
call esi
cdq
mov ecx, 0x7d0
idiv ecx
lea eax, [ebx + 0x138a]
mov esi, edx
push esi
push str.What_whole_number_is_closest_to_the_cube_root_of__d__
push eax
call fcn.004011b0
movsd xmm1, qword [0x472880]
add esp, 0xc
movd xmm0, esi
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
addsd xmm0, qword [0x472888]
cvttsd2si eax, xmm0
push eax
lea eax, [ebx + 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
and eax, 0x80000001
jns 0x42bef8
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x42bf5b
sub eax, 1
jne case.default.0x42be01
call esi
cdq
mov ecx, 0x1e
idiv ecx
lea edi, [edx + 3]
call esi
cdq
lea ecx, [edi - 2]
idiv ecx
mov eax, edi
mov esi, edx
sub eax, esi
push eax
lea eax, [esi + edi]
push eax
lea eax, [ebx + 0x138a]
push str._tWhat_is__d___d__
push eax
call fcn.004011b0
imul esi, esi
lea eax, [ebx + 0x1772]
imul edi, edi
sub edi, esi
push edi
push 0x439470
push eax
call fcn.004011b0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
cdq
mov ecx, 0x1e
idiv ecx
lea edi, [edx + 3]
call esi
cdq
lea ecx, [edi - 2]
idiv ecx
lea eax, [ebx + 0x138a]
mov esi, edx
push esi
push edi
push str._tWhat_is__d2____d2__
push eax
call fcn.004011b0
imul esi, esi
lea eax, [ebx + 0x1772]
imul edi, edi
sub edi, esi
push edi
push 0x439470
push eax
call fcn.004011b0
add esp, 0x1c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
call esi
cdq
mov edi, 0x14
idiv edi
lea eax, [edx - 0xa]
mov dword [esp + 0x10], eax
call esi
cdq
idiv edi
lea ebx, [edx - 0xa]
call esi
cdq
idiv edi
lea edi, [edx - 0xa]
call esi
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [esp + 0x14]
add eax, 0x138a
lea esi, [edx - 0xa]
push esi
push edi
push ebx
push dword [esp + 0x1c]
push str._t___X_d__X_d_________X_d__X_d_____Xn.__What_is_n_
push eax
call fcn.004011b0
mov eax, dword [esp + 0x2c]
sub ebx, esi
sub ebx, edi
add eax, 0x1772
add ebx, dword [esp + 0x28]
push ebx
push 0x439470
push eax
call fcn.004011b0
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
call esi
cdq
mov ecx, 0x14
idiv ecx
lea edi, [edx - 0xa]
call esi
cdq
mov ecx, 0x14
idiv ecx
lea eax, [ebx + 0x138a]
lea esi, [edx - 0xa]
push esi
push edi
push str._t_sqrt_X_d_____X_d___Xn.__What_is_n___n_t_Express_non_integers_as_common_fractions._
push eax
call fcn.004011b0
lea eax, [esi + esi]
mov dword [esp + 0x20], 2
add esp, 0x10
lea edx, [esp + 0x10]
sub edi, eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edi
call fcn.00435130
mov ecx, dword [esp + 0x14]
add ebx, 0x1772
test ecx, ecx
jne 0x42c08e
push 0x4579f0
push ebx
call fcn.004011b0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
cmp eax, 1
jne 0x42c0ad
push ecx
push 0x439470
push ebx
call fcn.004011b0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
push ecx
push str._d__d
push ebx
call fcn.004011b0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret