Function at 0x431f80
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 0x431fa9
mov eax, dword [esi + 0x1320]
mov dword [ebp - 8], eax
test eax, eax
jns 0x431fb2
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 0x431fd8
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, 0xd
ja case.default.0x43205f
jmp dword [eax*4 + 0x432460]
call edi
cmp byte [esi + 0x1319], 0
je 0x432016
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x43201f
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x432040
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 4
ja case.default.0x43205f
jmp dword [eax*4 + 0x432498]
mov ecx, esi
call fcn.00432510
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.004327e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00432a60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x4320a8
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x4320b1
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x4320d2
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 5
ja case.default.0x43205f
movzx eax, byte [eax + 0x4324b0]
jmp dword [eax*4 + 0x4324ac]
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x432120
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x432129
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x43214a
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 4
ja case.default.0x43205f
jmp dword [eax*4 + 0x4324b8]
call edi
cmp byte [esi + 0x1319], 0
je 0x432188
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x432191
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x4321b2
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 3
ja case.default.0x43205f
jmp dword [eax*4 + 0x4324cc]
call edi
cmp byte [esi + 0x1319], 0
je 0x4321f0
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x4321f9
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x43221a
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 3
ja case.default.0x43205f
jmp dword [eax*4 + 0x4324dc]
call edi
cmp byte [esi + 0x1319], 0
je 0x432255
mov ebx, dword [esi + 0x1324]
test ebx, ebx
jns 0x43225b
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 0x432281
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.0x43205f.3
sub ebx, 1
jne case.default.0x43205f
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x4322c4
mov ebx, dword [esi + 0x1324]
test ebx, ebx
jns 0x4322ca
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 0x4322f0
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.0x43205f.3
sub ebx, 1
je case.0x43205f.3
sub ebx, 1
jne case.default.0x43205f
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
cmp byte [esi + 0x1319], 0
je 0x43233f
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x432348
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x432369
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 0x432318
call edi
cmp byte [esi + 0x1319], 0
je 0x43239a
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x4323a3
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x4323c4
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 5
ja case.default.0x43205f
movzx eax, byte [eax + 0x4324f0]
jmp dword [eax*4 + 0x4324ec]
call edi
cmp byte [esi + 0x1319], 0
je 0x432405
mov eax, dword [esi + 0x1324]
mov dword [ebp - 4], eax
test eax, eax
jns 0x43240e
mov eax, dword [esi + 0x1330]
mov dword [ebp - 4], eax
push 0xfffffffffffffff5
mov dword [esi + 0x1880], eax
call ebx
cmp eax, 0xffffffff
je 0x43242f
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
mov eax, dword [ebp - 4]
add esp, 8
cmp eax, 3
ja case.default.0x43205f
jmp dword [eax*4 + 0x4324f8]
mov ecx, esi
call fcn.00432bf0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret