Function at 0x430e70
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
push esi
push edi
mov esi, ecx
call ebx
cmp byte [esi + 0x1319], 0
je 0x430e96
mov edi, dword [esi + 0x1324]
test edi, edi
jns 0x430e9c
mov edi, dword [esi + 0x1330]
push 0xfffffffffffffff5
mov dword [esi + 0x1880], edi
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
cmp eax, 0xffffffff
je 0x430ec0
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 edi, 6
ja case.default.0x430edc
jmp dword [edi*4 + 0x431330]
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
lea eax, [edx - 0x3e8]
mov dword [ebp - 4], eax
call ebx
and eax, 0x80000001
jns 0x430f04
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x430f44
sub eax, 1
jne case.default.0x430edc
mov ebx, dword [ebp - 4]
lea eax, [esi + 0x138a]
push ebx
push str._tIs__d_divisible_by_5___n_n_tType_y_or_n.
push eax
call fcn.004011b0
mov eax, 0x66666667
add esp, 0xc
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
cmp ebx, eax
jmp 0x431006
mov ebx, dword [ebp - 4]
lea eax, [esi + 0x138a]
push ebx
push str._tIs__d_divisible_by_2___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
mov ecx, 0x6e
test bl, 1
mov eax, 0x79
cmovne eax, ecx
push eax
lea eax, [esi + 0x1772]
push 0x467980
push eax
call fcn.004011b0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
lea edi, [edx - 0x3e8]
call ebx
and eax, 0x80000001
jns 0x430fa6
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x430fde
sub eax, 1
jne case.default.0x430edc
push edi
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_9___n_n_tType_y_or_n.
push eax
call fcn.004011b0
mov eax, 0x38e38e39
add esp, 0xc
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*8]
jmp 0x431004
push edi
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_3___n_n_tType_y_or_n.
push eax
call fcn.004011b0
mov eax, 0x55555556
add esp, 0xc
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
cmp edi, eax
mov edx, 0x6e
mov ecx, 0x79
cmovne ecx, edx
push ecx
lea eax, [esi + 0x1772]
push 0x467980
push eax
call fcn.004011b0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
lea edi, [edx*2 - 0x7d0]
call ebx
and eax, 0x80000001
jns 0x43104e
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x43108b
sub eax, 1
jne case.default.0x430edc
push edi
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_8___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
and edi, 0x80000007
jns 0x43107e
dec edi
or edi, 0xfffffff8
inc edi
neg edi
sbb edi, edi
and edi, 0xfffffff5
add edi, 0x79
push edi
jmp 0x431014
push edi
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_4___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
and edi, 0x80000003
jns 0x4310ad
dec edi
or edi, 0xfffffffc
inc edi
neg edi
lea eax, [esi + 0x1772]
sbb edi, edi
and edi, 0xfffffff5
add edi, 0x79
push edi
push 0x467980
push eax
call fcn.004011b0
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
mov edi, edx
call ebx
and eax, 0x80000001
jns 0x4310ed
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x43113f
sub eax, 1
jne case.default.0x430edc
call ebx
cdq
mov ecx, 0xa
idiv ecx
imul eax, edi, 0xb
add eax, 0xffffd509
add eax, edx
push eax
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_11___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
lea eax, [esi + 0x1772]
push 0x467a78
push eax
call fcn.004011b0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edi - 0x3e8]
imul eax, eax, 0xb
push eax
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_11___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
lea eax, [esi + 0x1772]
push 0x467a74
push eax
call fcn.004011b0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
mov edi, edx
call ebx
and eax, 0x80000001
jns 0x431192
dec eax
or eax, 0xfffffffe
inc eax
sub eax, 0
je 0x4311ea
sub eax, 1
jne case.default.0x430edc
call ebx
cdq
mov ecx, 6
idiv ecx
lea eax, [edi*8]
sub eax, edi
add eax, 0xffffe4a9
add eax, edx
push eax
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_7___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
lea eax, [esi + 0x1772]
push 0x467a78
push eax
call fcn.004011b0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi - 0x3e8]
lea eax, [ecx*8]
sub eax, ecx
push eax
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by_7___n_n_tType_y_or_n.
push eax
call fcn.004011b0
add esp, 0xc
lea eax, [esi + 0x1772]
push 0x467a74
push eax
call fcn.004011b0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
mov edi, edx
call ebx
and eax, 0x80000001
jns 0x431243
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 8], eax
call ebx
cdq
mov ecx, 6
idiv ecx
mov eax, dword [ebp - 8]
mov ecx, dword [edx*4 + 0x45d134]
mov dword [ebp - 4], ecx
sub eax, 0
je 0x43129d
sub eax, 1
jne case.default.0x430edc
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x431283
call ebx
mov ecx, dword [ebp - 4]
inc edi
dec ecx
cdq
idiv ecx
mov ecx, dword [ebp - 4]
add edi, edx
push ecx
push edi
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by__d___n_n_tType_y_or_n.
push eax
call fcn.004011b0
push 0x467a78
jmp 0x43131a
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x431302
inc edi
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x4312a6
jmp 0x431302
call ebx
cdq
mov ecx, 0x7d0
idiv ecx
mov edi, edx
call ebx
and eax, 0x80000001
jns 0x4312cc
dec eax
or eax, 0xfffffffe
inc eax
mov dword [ebp - 8], eax
call ebx
cdq
mov ecx, 0xb
idiv ecx
mov eax, dword [ebp - 8]
mov ecx, dword [edx*4 + 0x45d120]
mov dword [ebp - 4], ecx
sub eax, 0
jne 0x431262
mov eax, edi
cdq
idiv ecx
test edx, edx
je 0x431302
inc edi
mov eax, edi
cdq
idiv ecx
test edx, edx
jne 0x4312f8
push ecx
push edi
lea eax, [esi + 0x138a]
push str._tIs__d_divisible_by__d___n_n_tType_y_or_n.
push eax
call fcn.004011b0
push 0x467a74
lea eax, [esi + 0x1772]
push eax
call fcn.004011b0
add esp, 0x18
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret