Function at 0x43c4f0
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x203c
call fcn.0057e5f0
xor ecx, ecx
mov esi, 0xcccccccd
sub esp, eax
lea ebx, [ebp - 0x200c]
mov eax, dword [esp + eax]
mov dword [ebp - 0x2030], eax
lea esi, [esi]
mov eax, ecx
mul esi
mov eax, ecx
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
sub eax, edx
add eax, 0x30
mov word [ebx + ecx*4], ax
xor eax, eax
mov word [ebx + ecx*4 + 2], ax
add ecx, 1
cmp ecx, 0x800
jne 0x43c520
lea eax, [ebp - 0x2022]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2030]
mov edi, dword fs:[0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetConsoleScreenBufferInfo]
sub esp, 8
mov esi, eax
mov eax, 0xa84
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x202c]
mov dword [esp + 4], str.GetConsoleScreenBufferInfo_failed:__lu_n
mov dword [esp + 8], eax
call fcn.00427ef0
mov ecx, dword [sym.imp.kernel32.dll_WriteConsoleOutputW]
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov dword [ebp - 0x2034], ecx
call ecx
sub esp, 0x14
mov dword [ebp - 0x2038], eax
mov eax, 0xa8c
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.WriteConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2038]
mov dword [esp], edx
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov edx, esi
mov ecx, 0xa
mov dword [esp + 4], 0xf
mov eax, 0xa8d
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x700c8
mov dword [ebp - 0x2028], 0xd3000f
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2034]
call ecx
sub esp, 0x14
mov dword [ebp - 0x2038], eax
call fcn.0057d110
mov edx, dword [ebp - 0x2038]
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xa95
xor eax, eax
mov ecx, dword [edi + 0x34]
test edx, edx
jne 0x43c69f
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.WriteConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 0xd3
mov ecx, 0xc8
mov edx, esi
mov dword [esp + 4], 0xf
mov eax, 0xa96
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x700c8
mov dword [ebp - 0x2028], 0x800d3
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov edi, dword [ebp - 0x2034]
call edi
sub esp, 0x14
mov dword [ebp - 0x2038], eax
mov eax, 0xa9e
call fcn.00427180
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.WriteConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2038]
mov dword [esp], edx
call fcn.00427ef0
mov dword [esp + 8], 8
mov ecx, 0xc8
mov edx, esi
mov dword [esp + 4], 0xd3
mov eax, 0xa9f
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb0009
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov eax, dword [ebp - 0x2034]
call eax
mov dword [ebp - 0x2038], eax
sub esp, 0x14
mov eax, 0xaa7
call fcn.00427180
mov edx, dword [ebp - 0x2038]
mov ecx, dword [edi + 0x34]
xor eax, eax
test edx, edx
jne 0x43c7e2
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.WriteConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov ecx, 0xa
mov edx, esi
mov dword [esp + 4], 9
mov eax, 0xaa8
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0x6000b
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
mov eax, 0xab0
call fcn.00427180
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x43c886
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.WriteConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 6
mov ecx, 0xa
mov edx, esi
mov dword [esp + 4], 0xb
mov eax, 0xab1
mov dword [esp], 7
call fcn.00435e10
mov eax, 0x110017
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov ax, 2
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xab9
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x43c937
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.WriteConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov ecx, 0xa
mov edx, esi
mov dword [esp + 4], 0xf
mov eax, 0xaba
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x30017
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xac2
xor eax, eax
mov edx, dword fs:[0x18]
mov ecx, dword [edx + 0x34]
test edi, edi
jne 0x43c9e3
xor eax, eax
cmp ecx, 0x57
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.WriteConsoleOutputW_returned:__x__lu__n
mov edi, dword fs:[0x18]
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov ecx, 0xa
mov edx, esi
mov dword [esp + 4], 0xf
mov eax, 0xac3
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110006
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov dword [ebp - 0x2038], eax
mov eax, 0xacb
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.WriteConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2038]
mov dword [esp], edx
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov ecx, 0xa
mov edx, esi
mov dword [esp + 4], 0xd
mov eax, 0xacc
mov dword [esp], 7
call fcn.00435e10
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110006
mov dword [esp + 4], ebx
mov dword [esp], 0xdeadbeef
mov eax, dword [ebp - 0x2034]
call eax
mov dword [ebp - 0x2038], eax
sub esp, 0x14
mov eax, 0xad4
call fcn.00427180
mov edx, dword [ebp - 0x2038]
mov ecx, dword [edi + 0x34]
xor eax, eax
test edx, edx
jne 0x43cb24
xor eax, eax
cmp ecx, 6
sete al
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str.WriteConsoleOutputW_returned:__x__lu__n
mov dword [esp], eax
call fcn.00427ef0
mov edi, dword [0x707bac]
test edi, edi
je 0x43cca4
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x70010
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov edi, dword [ebp - 0x2034]
call edi
sub esp, 0x14
mov dword [ebp - 0x2038], eax
call fcn.0057d110
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xadd
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.WriteConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2038]
mov dword [esp], edx
call fcn.00427ef0
mov dword [esp + 8], 0xa
mov edx, esi
mov ecx, 0xa
mov dword [esp + 4], 0xf
mov eax, 0xade
mov dword [esp], 7
call fcn.00435e10
movzx eax, word [ebp - 0x2022]
mov ecx, 7
mov word [ebp - 0x2026], cx
lea edx, [eax - 2]
add eax, 2
mov word [ebp - 0x202c], dx
mov edx, 7
mov word [ebp - 0x202a], dx
mov word [ebp - 0x2028], ax
mov dword [esp + 0x10], esi
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x70010
mov eax, dword [ebp - 0x2030]
mov dword [esp], eax
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov ebx, eax
mov eax, 0xae6
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.WriteConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
call fcn.00427ef0
movsx eax, word [ebp - 0x2022]
mov edx, esi
mov dword [esp + 8], 7
mov dword [esp], 7
lea ecx, [eax - 2]
sub eax, 1
mov dword [esp + 4], eax
mov eax, 0xae7
call fcn.00435e10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0xb
mov ecx, 0xa
mov edx, esi
mov eax, 0xad5
mov dword [esp + 4], 0xd
mov dword [esp], 7
call fcn.00435e10
jmp 0x43cb4a