Function at 0x430b10
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov esi, ecx
call edi
cmp byte [esi + 0x1319], 0
je 0x430b39
mov eax, dword [esi + 0x1320]
mov dword [ebp - 8], eax
test eax, eax
jns 0x430b42
mov eax, dword [esi + 0x132c]
mov dword [ebp - 8], eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [esi + 0x187c], eax
call ebx
cmp eax, 0xffffffff
je 0x430b68
mov dword [ebp - 4], 0x10000
push dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
push dword [esi + 0x187c]
push 0x439470
call fcn.00401070
mov eax, dword [ebp - 8]
add esp, 8
cmp eax, 7
ja case.default.0x430cd2
jmp dword [eax*4 + 0x430e38]
call edi
cmp byte [esi + 0x1319], 0
je 0x430ba6
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x430baf
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x430bd0
mov dword [ebp - 8], 0x20000
push dword [ebp - 8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [esi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp dword [ebp - 4], 0
jne case.default.0x430cd2
call edi
call edi
cdq
mov ecx, 0xbb8
idiv ecx
mov ebx, edx
call edi
cdq
mov ecx, 0xbb8
idiv ecx
lea eax, [esi + 0x138a]
mov edi, edx
push edi
push ebx
push str.What_is_the_units_digit_of__d___d__
push eax
call fcn.004011b0
mov eax, 0x66666667
add esp, 0x10
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
add eax, eax
sub ebx, eax
lea eax, [edi + 3]
and eax, 0x80000003
jns 0x430c44
dec eax
or eax, 0xfffffffc
inc eax
lea eax, [eax + ebx*4]
mov ecx, dword [eax*4 + 0x45e460]
sub esi, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [esi + ecx + 0x1771], al
test al, al
jne 0x430c50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00430e70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x430c8a
mov ebx, dword [esi + 0x1324]
test ebx, ebx
jns 0x430c90
mov ebx, dword [esi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [esi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x430cb6
mov dword [ebp - 8], 0x20000
push dword [ebp - 8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [esi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp ebx, 4
ja case.default.0x430cd2
jmp dword [ebx*4 + 0x430e58]
mov ecx, esi
call fcn.00431350
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.004318b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00431a30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x430d18
mov ebx, dword [esi + 0x1324]
test ebx, ebx
jns 0x430d1e
mov ebx, dword [esi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [esi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x430d44
mov dword [ebp - 8], 0x20000
push dword [ebp - 8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [esi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
sub ebx, 0
je case.0x430cd2.2
sub ebx, 1
jmp 0x430e28
mov ecx, esi
call fcn.00431c40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x430d8e
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x430d97
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x430db8
mov dword [ebp - 8], 0x20000
push dword [ebp - 8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [esi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp dword [ebp - 4], 0
jmp 0x430e2d
call edi
cmp byte [esi + 0x1319], 0
je 0x430de6
mov ebx, dword [esi + 0x1324]
test ebx, ebx
jns 0x430dec
mov ebx, dword [esi + 0x1330]
mov eax, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
mov dword [esi + 0x1880], ebx
call eax
cmp eax, 0xffffffff
je 0x430e12
mov dword [ebp - 8], 0x20000
push dword [ebp - 8]
push eax
mov eax, dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
call eax
push dword [esi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
sub ebx, 0
je case.0x430cd2.2
sub ebx, 1
jne case.default.0x430cd2
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret