Function at 0x435fc0
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x2040
call fcn.0057e5f0
sub esp, eax
mov eax, dword [esp + eax]
mov esi, eax
mov eax, dword [0x707bac]
mov dword [ebp - 0x2038], eax
test eax, eax
je 0x435ff0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x2022]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_GetConsoleScreenBufferInfo]
sub esp, 8
mov ebx, eax
mov eax, 0xca8
call fcn.00427180
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
lea ebx, [ebp - 0x202c]
mov dword [esp + 4], str.GetConsoleScreenBufferInfo_failed:__lu_n
mov dword [esp + 8], eax
call fcn.00427ef0
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 4], eax
mov eax, dword [sym.imp.kernel32.dll_ReadConsoleOutputW]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp], esi
mov dword [ebp - 0x2034], eax
call eax
sub esp, 0x14
mov dword [ebp - 0x203c], eax
mov eax, 0xcb0
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.ReadConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x203c]
mov dword [esp], edx
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov edx, ebx
mov ecx, 0xa
mov dword [esp + 4], 0xf
mov eax, 0xcb1
mov dword [esp], 7
call fcn.00435e10
lea ecx, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x700c8
mov dword [ebp - 0x2028], 0xd3000f
mov dword [esp + 4], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov dword [ebp - 0x203c], eax
mov eax, 0xcb9
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x203c]
xor eax, eax
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu__n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov dword [esp + 8], 0
mov edx, ebx
mov ecx, 0xc8
mov dword [esp + 4], 0xfffffff1
mov eax, 0xcba
mov dword [esp], 7
call fcn.00435e10
lea ecx, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x700c8
mov dword [ebp - 0x2028], 0x800d3
mov dword [esp + 4], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
mov dword [ebp - 0x203c], eax
sub esp, 0x14
mov eax, 0xcc2
call fcn.00427180
mov edx, dword [ebp - 0x203c]
mov eax, dword [edi + 0x34]
test edx, edx
jne 0x436920
cmp eax, 0x57
je 0x436978
cmp eax, 1
je 0x436aa8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu_n
mov dword [esp], 0
call fcn.00427ef0
mov eax, dword fs:[0x18]
cmp dword [eax + 0x34], 0x57
je 0x436ad8
mov dword [ebp - 0x202c], 0x7000a
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x2028], 0xb0009
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
mov eax, 0xccc
call fcn.00427180
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0x34]
test edi, edi
jne 0x436a38
mov edx, 1
cmp ecx, 1
je 0x436282
xor edx, edx
cmp ecx, 8
sete dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 0xfffffff5
mov ecx, 0xa
mov edx, ebx
mov dword [esp + 4], 9
mov eax, 0xcce
mov dword [esp], 7
call fcn.00435e10
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0x6000b
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110017
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
mov eax, 0xcd6
call fcn.00427180
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0x34]
test edi, edi
jne 0x436a20
mov edx, 1
cmp ecx, 1
je 0x436331
xor edx, edx
cmp ecx, 8
sete dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 6
mov ecx, 0xa
mov edx, ebx
mov dword [esp + 4], 0xfffffff5
mov eax, 0xcd8
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 + 8], eax
lea eax, [ebp - 0x200c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
mov eax, 0xce0
call fcn.00427180
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0x34]
test edi, edi
jne 0x436a08
mov edx, 1
cmp ecx, 1
je 0x4363e5
xor edx, edx
cmp ecx, 8
sete dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu__n
call fcn.00427ef0
mov dword [esp + 8], 0xfffffff5
mov ecx, 0xa
mov edx, ebx
mov dword [esp + 4], 0xfffffff1
mov eax, 0xce2
mov dword [esp], 7
call fcn.00435e10
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x30017
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov edi, eax
mov eax, 0xcea
call fcn.00427180
mov eax, dword fs:[0x18]
mov ecx, dword [eax + 0x34]
test edi, edi
jne 0x4369f0
mov edx, 1
cmp ecx, 1
je 0x436494
xor edx, edx
cmp ecx, 8
sete dl
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu__n
mov edi, dword fs:[0x18]
call fcn.00427ef0
mov dword [esp + 8], 6
mov ecx, 0xa
mov edx, ebx
mov dword [esp + 4], 0xfffffff1
mov eax, 0xcec
mov dword [esp], 7
call fcn.00435e10
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110006
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov dword [ebp - 0x203c], eax
mov eax, 0xcf4
call fcn.00427180
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.ReadConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x203c]
mov dword [esp], edx
call fcn.00427ef0
mov dword [esp + 8], 0xb
mov edx, ebx
mov ecx, 0xa
mov dword [esp + 4], 0xd
mov eax, 0xcf5
mov dword [esp], 7
call fcn.00435e10
lea ecx, [ebp - 0x200c]
mov dword [ebp - 0x202c], 0x7000a
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 4], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x110006
mov dword [esp], 0xdeadbeef
mov eax, dword [ebp - 0x2034]
call eax
mov dword [ebp - 0x203c], eax
sub esp, 0x14
mov eax, 0xcfd
call fcn.00427180
mov edx, dword [ebp - 0x203c]
mov eax, dword [edi + 0x34]
test edx, edx
jne 0x4365df
xor ecx, ecx
cmp eax, 6
sete cl
mov dword [ebp - 0x2038], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu__n
mov eax, dword [ebp - 0x2038]
mov dword [esp], eax
call fcn.00427ef0
mov edi, dword [0x707bac]
test edi, edi
je 0x436a50
mov dword [ebp - 0x202c], 0x7000a
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x2028], 0xb000f
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x70010
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov dword [ebp - 0x2038], eax
mov eax, 0xd06
call fcn.00427180
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.ReadConsoleOutputW_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 ecx, 0xa
mov edx, ebx
mov dword [esp + 4], 0xf
mov eax, 0xd07
mov dword [esp], 7
call fcn.00435e10
movzx eax, word [ebp - 0x2022]
mov ecx, 7
mov word [ebp - 0x2026], cx
lea ecx, [ebp - 0x200c]
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 + 4], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 0x70010
mov dword [esp], esi
mov eax, dword [ebp - 0x2034]
call eax
mov dword [ebp - 0x2038], eax
sub esp, 0x14
mov eax, 0xd0f
call fcn.00427180
mov edx, dword [ebp - 0x2038]
mov eax, dword [edi + 0x34]
test edx, edx
jne 0x4369a0
cmp eax, 0x57
je 0x436a80
mov dword [esp + 8], eax
mov dword [esp + 4], str.ReadConsoleOutputW_failed:__lu_n
mov dword [esp], 0
call fcn.00427ef0
lea eax, [ebp - 0x2030]
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x30002
mov dword [esp + 8], 3
mov dword [esp + 4], 0x590fea
call dword [sym.imp.kernel32.dll_WriteConsoleOutputCharacterW]
sub esp, 0x14
mov edi, eax
mov eax, 0xd15
call fcn.00427180
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x2038], edx
mov dword [esp], edi
lea edi, [ebp - 0x200c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.WriteConsoleOutputCharacterW_failed:__lu_n
call fcn.00427ef0
mov eax, 0xd16
call fcn.00427180
mov eax, dword [ebp - 0x2030]
mov dword [esp + 4], str.count___lu_n
cmp eax, 3
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xc0c0c0c0
mov ecx, 0x800
mov dword [ebp - 0x202c], 0x30002
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x200c]
mov dword [ebp - 0x2028], 0x30005
mov dword [esp + 0x10], ebx
mov dword [esp], esi
mov dword [esp + 0xc], 0x60005
mov dword [esp + 8], 0x70010
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2034]
call eax
sub esp, 0x14
mov esi, eax
mov eax, 0xd1f
call fcn.00427180
mov edx, dword [ebp - 0x2038]
mov eax, dword [edx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.ReadConsoleOutputW_failed:__lu_n
mov dword [esp + 8], eax
call fcn.00427ef0
mov dword [esp + 8], 3
mov edx, ebx
mov ecx, 2
mov dword [esp + 4], 5
mov eax, 0xd20
mov dword [esp], 3
call fcn.00435e10
movzx ebx, word [ebp - 0x1e78]
mov eax, 0xd22
call fcn.00427180
mov dword [esp + 4], str.unexpected_char__c__x_n
movzx eax, bx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
xor eax, eax
cmp bx, 0x78
sete al
mov dword [esp], eax
call fcn.00427ef0
movzx ebx, word [ebp - 0x1e74]
mov eax, 0xd24
call fcn.00427180
mov dword [esp + 4], str.unexpected_char__c__x_n
movzx eax, bx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
xor eax, eax
cmp bx, 0x79
sete al
mov dword [esp], eax
call fcn.00427ef0
movzx ebx, word [ebp - 0x1e70]
mov eax, 0xd26
call fcn.00427180
mov dword [esp + 4], str.unexpected_char__c__x_n
movzx eax, bx
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
xor eax, eax
cmp bx, 0x7a
sete al
mov dword [esp], eax
call fcn.00427ef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x8f0770]
test ecx, ecx
jne 0x436950
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu_n
mov dword [esp], 1
call fcn.00427ef0
jmp 0x436213
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu_n
mov dword [esp], 0
call fcn.00427ef0
jmp 0x436213
mov dword [esp + 0xc], 0x57
mov dword [esp + 8], 0
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu_n
mov dword [esp], 1
jmp 0x4361fe
mov dword [esp + 8], eax
mov dword [esp + 4], str.ReadConsoleOutputW_failed:__lu_n
mov dword [esp], 1
call fcn.00427ef0
movsx eax, word [ebp - 0x2022]
mov edx, ebx
mov dword [esp + 8], 7
mov dword [esp], 7
lea ecx, [eax - 2]
sub eax, 1
mov dword [esp + 4], eax
mov eax, 0xd10
call fcn.00435e10
jmp 0x436748
mov eax, dword [0x8f0770]
xor edx, edx
test eax, eax
sete dl
jmp 0x436494
mov eax, dword [0x8f0770]
xor edx, edx
test eax, eax
sete dl
jmp 0x4363e5
mov eax, dword [0x8f0770]
xor edx, edx
test eax, eax
sete dl
jmp 0x436331
mov eax, dword [0x8f0770]
xor edx, edx
test eax, eax
sete dl
jmp 0x436282
mov dword [esp + 8], 0xb
mov ecx, 0xa
mov edx, ebx
mov eax, 0xcfe
mov dword [esp + 4], 0xd
mov dword [esp], 7
call fcn.00435e10
jmp 0x43660b
mov dword [esp + 8], 0x57
mov dword [esp + 4], str.ReadConsoleOutputW_failed:__lu_n
mov dword [esp], 1
call fcn.00427ef0
jmp 0x436748
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.ReadConsoleOutputW_returned:__x__lu_n
mov dword [esp], 1
call fcn.00427ef0
jmp 0x436203
mov dword [esp + 8], 0xfffffff8
mov ecx, 0xc8
mov edx, ebx
mov eax, 0xcc4
mov dword [esp + 4], 0xffffff2d
mov dword [esp], 7
call fcn.00435e10
jmp 0x436213