Function at 0x432bf0
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push ecx
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 0x432c14
mov ebx, dword [esi + 0x1324]
test ebx, ebx
jns 0x432c1a
mov ebx, dword [esi + 0x1330]
push 0xfffffffffffffff5
mov dword [esi + 0x1880], ebx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp eax, 0xffffffff
je 0x432c3e
mov dword [ebp - 4], 0x20000
push dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
push dword [esi + 0x1880]
push 0x439470
call fcn.00401070
add esp, 8
cmp ebx, 4
ja case.default.0x432c5a
jmp dword [ebx*4 + 0x432ef4]
call edi
and eax, 0x80000001
jns 0x432c6f
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x432d1a
sub eax, 1
jne case.default.0x432c5a
call edi
mov ecx, 0x7e
cdq
idiv ecx
mov ebx, edx
mov edx, esi
mov edi, dword [ebx*4 + 0x461bf0]
mov ecx, edi
sub edx, edi
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 0x138a], al
test al, al
jne 0x432ca0
mov byte [esi + 0x138a], 9
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x432cc0
mov edx, dword [ebx*4 + 0x461878]
sub edi, ecx
mov ecx, edx
mov byte [edi + esi + 0x138b], 0x20
mov word [esi + edi + 0x138c], 0x3f
mov edi, esi
sub edi, edx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edi + ecx + 0x1771], al
test al, al
jne 0x432cf0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x432d03
sub edx, ecx
mov byte [edx + esi + 0x1772], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
mov ecx, 0x22
cdq
idiv ecx
mov ebx, edx
mov edx, esi
mov edi, dword [ebx*4 + 0x461af0]
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 0x138a], al
test al, al
jne 0x432d33
mov byte [esi + 0x138a], 9
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x432d50
mov edx, dword [ebx*4 + 0x4617f0]
sub edi, ecx
mov ecx, edx
mov byte [edi + esi + 0x138b], 0x20
mov word [esi + edi + 0x138c], 0x3f
mov edi, esi
sub edi, edx
nop dword [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edi + ecx + 0x1771], al
test al, al
jne 0x432d80
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x432d93
sub edx, ecx
mov byte [edx + esi + 0x1772], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
and eax, 0x80000001
jns 0x432db8
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x432e5a
sub eax, 1
jne case.default.0x432c5a
call edi
mov ecx, 0x11
cdq
idiv ecx
mov byte [esi + 0x23a1], 1
mov ebx, edx
mov edx, esi
mov edi, dword [ebx*4 + 0x461b78]
mov ecx, edi
sub edx, edi
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 0x138a], al
test al, al
jne 0x432df0
mov byte [esi + 0x138a], 9
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x432e10
sub edi, ecx
mov ecx, dword [ebx*4 + 0x461e68]
mov edx, ecx
mov byte [edi + esi + 0x138b], al
mov edi, esi
sub edi, ecx
nop dword [eax]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [edi + edx + 0x1771], al
test al, al
jne 0x432e30
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432e43
sub ecx, edx
mov byte [ecx + esi + 0x1772], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
mov ebx, eax
and ebx, 0x8000001f
jns 0x432e6b
dec ebx
or ebx, 0xffffffe0
inc ebx
mov edi, dword [ebx*4 + 0x461de8]
mov ecx, esi
mov byte [esi + 0x23a1], 1
mov edx, edi
sub ecx, edi
nop
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [ecx + edx + 0x138a], al
test al, al
jne 0x432e80
mov byte [esi + 0x138a], 9
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x432ea0
sub edi, ecx
mov ecx, dword [ebx*4 + 0x461a70]
mov edx, ecx
mov byte [edi + esi + 0x138b], al
mov edi, esi
sub edi, ecx
nop dword [eax]
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [edi + edx + 0x1771], al
test al, al
jne 0x432ec0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432ed3
sub ecx, edx
mov byte [ecx + esi + 0x1772], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret