Function at 0x10003594
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
call fcn.1003e75e
cdq
mov ecx, 7
idiv ecx
cmp byte [0x100b3608], 0
mov dword [esp + 0x10], edx
jne 0x10003832
nop word [eax + eax]
mov ebx, 0x100b32e0
mov esi, ebx
mov edi, 0xa
nop dword [eax]
cmp dword [esi], 0
mov edx, 0x100bd73c
je 0x100034df
mov edx, 0x100bd738
call fcn.1000aac0
add esi, 0x50
sub edi, 1
jne 0x100034d0
push 0x100b25c8
call fcn.1000ad90
add ebx, 4
add esp, 4
cmp ebx, 0x100b3330
jl 0x100034c5
movzx eax, word [0x100b3618]
mov word [esp + 0x14], ax
movzx eax, word [0x100b360c]
mov word [esp + 0x16], ax
push dword [esp + 0x14]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov edx, 0x100bd738
call fcn.1000aac0
call fcn.1003f70f
test eax, eax
je case.0x10003561.98
call fcn.1003f4d7
movsx eax, al
add eax, 0xffffff9f
cmp eax, 0x16
ja case.0x10003561.98
movzx eax, byte [eax + 0x1000386c]
jmp dword [eax*4 + 0x10003854]
mov esi, dword [0x100b3618]
mov edx, dword [0x100b360c]
dec esi
push 0
mov ecx, esi
call fcn.10003420
add esp, 4
test al, al
je case.0x10003561.98
mov dword [0x100b3618], esi
jmp case.0x10003561.98
mov esi, dword [0x100b3618]
mov edx, dword [0x100b360c]
inc esi
push 0
mov ecx, esi
call fcn.10003420
add esp, 4
test al, al
je case.0x10003561.98
mov dword [0x100b3618], esi
jmp case.0x10003561.98
mov esi, dword [0x100b360c]
mov edi, dword [0x100b3618]
mov ecx, edi
push 0
lea edx, [esi + 1]
call fcn.10003420
add esp, 4
test al, al
je case.0x10003561.98
nop dword [eax]
inc esi
mov ecx, edi
push 0
lea edx, [esi + 1]
call fcn.10003420
add esp, 4
test al, al
jne 0x100035e0
mov dword [0x100b360c], esi
jmp case.0x10003561.98
mov eax, dword [esp + 0x10]
xor esi, esi
mov edx, dword [0x100b360c]
inc eax
mov ecx, dword [0x100b3618]
cmp eax, 6
cmovle esi, eax
push esi
call fcn.10003420
add esp, 4
test al, al
je case.0x10003561.98
mov dword [esp + 0x10], esi
jmp case.0x10003561.98
mov byte [0x100b3608], 1
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [0x100b360c]
mov ebx, dword [0x100b3618]
mov ecx, ebx
push dword [esp + 0x10]
lea esi, [edi + 1]
mov edx, esi
call fcn.10003420
add esp, 4
test al, al
jne 0x1000381f
mov esi, dword [esp + 0x10]
mov ecx, 2
shl esi, 4
mov eax, dword [esi + 0x100be1b8]
cdq
idiv ecx
lea ecx, [edx + ebx]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, 2
add eax, edi
mov dword [eax*4 + 0x100b32e0], 1
mov eax, dword [esi + 0x100be1bc]
cdq
idiv ecx
lea ecx, [edx + ebx]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, 2
add eax, edi
mov dword [eax*4 + 0x100b32e0], 1
mov eax, dword [esi + 0x100be1c0]
cdq
idiv ecx
lea ecx, [edx + ebx]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, 2
add eax, edi
mov dword [eax*4 + 0x100b32e0], 1
mov eax, dword [esi + 0x100be1c4]
mov esi, 0x100b332c
cdq
idiv ecx
lea ecx, [edx + ebx]
mov edx, 0x13
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
add eax, edi
mov dword [eax*4 + 0x100b32e0], 1
xor ecx, ecx
mov eax, esi
cmp dword [eax], 0
je 0x100037e1
inc ecx
add eax, 0x50
cmp ecx, 0xa
jl 0x10003706
test edx, edx
jle 0x100037d8
mov ecx, 0x100b332c
mov esi, 0x100b3330
mov edi, 0x100b337c
mov ebx, 0x100b3380
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [edx*4 + 0x100b32dc]
mov dword [edx*4 + 0x100b32e0], eax
mov eax, dword [ecx + edx*4]
mov ecx, 0x100b33d0
mov dword [esi + edx*4], eax
mov eax, dword [edi + edx*4]
mov dword [ebx + edx*4], eax
mov eax, 0x100b33cc
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, 0x100b341c
mov ecx, 0x100b3420
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, 0x100b346c
mov ecx, 0x100b3470
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, 0x100b34bc
mov ecx, 0x100b34c0
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, 0x100b350c
mov ecx, 0x100b3510
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, 0x100b355c
mov ecx, 0x100b3560
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
mov eax, 0x100b35ac
mov ecx, 0x100b35b0
mov eax, dword [eax + edx*4]
mov dword [ecx + edx*4], eax
dec edx
mov ecx, 0x100b332c
test edx, edx
jg 0x10003740
add dword [0x100b3604], 0xa
jmp 0x100037f8
sub esi, 4
dec edx
cmp esi, 0x100b32e0
jge 0x10003702
mov byte [0x100b3608], 1
mov dword [0x100b3618], 5
mov dword [0x100b360c], 0
call fcn.1003e75e
cdq
mov ecx, 7
idiv ecx
mov dword [esp + 0x10], edx
jmp 0x10003825
mov dword [0x100b360c], esi
cmp byte [0x100b3608], 0
je 0x100034c0
push ecx
mov edx, 0x100bd740
call fcn.1000aac0
mov ecx, eax
call fcn.10007df0
push eax
call fcn.1000ad90
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret