Function at 0x10032b8
Capabilities:
Manipulate console buffer
Set console window title

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x738
mov eax, dword [0x10106f0]
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
push edi
xor ebx, ebx
push 0x41
pop ecx
mov dword [ebp - 4], eax
xor eax, eax
cmp edx, ebx
lea edi, [ebp - 0x10b]
mov byte [ebp - 0x10c], bl
rep stosd dword es:[edi], eax
push 0x7f
pop ecx
lea edi, [ebp - 0x30a]
mov word [ebp - 0x30c], bx
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov dword [ebp - 0x724], edx
mov word [ebp - 0x734], bx
mov word [ebp - 0x732], bx
mov dword [0x102b47c], ebx
jne 0x10033c1
push ebx
lea eax, [ebp - 0x728]
push eax
push 0x1028f20
call esi
pop ecx
push eax
push 0x1028f20
push dword [0x102b458]
call edi
push ebx
lea eax, [ebp - 0x738]
push eax
push 0xfd
lea eax, [ebp - 0x30c]
push eax
push dword [0x102b45c]
call dword [sym.imp.KERNEL32.dll_ReadConsoleW]
test eax, eax
je 0x10037e4
mov eax, dword [ebp - 0x738]
cmp eax, 2
je 0x10033a1
mov word [ebp + eax*2 - 0x30e], bx
mov word [ebp + eax*2 - 0x310], bx
lea eax, [ebp - 0x30c]
push eax
call fcn.0100313e
push eax
mov dword [ebp - 0x724], eax
call esi
test eax, eax
pop ecx
jne 0x10033c1
push ebx
lea eax, [ebp - 0x728]
push eax
mov ebx, 0x1026fe0
push ebx
call esi
pop ecx
push eax
push ebx
push dword [0x102b458]
call edi
jmp 0x10037e4
cmp dword [0x10107d0], ebx
je 0x10033cf
push ebx
call fcn.01002293
push 0x10018e8
push dword [ebp - 0x724]
call dword [sym.imp.msvcrt.dll_wcstok]
push 0x10018e4
push ebx
mov dword [ebp - 0x724], eax
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 0x10
cmp eax, ebx
mov word [0x10109e8], bx
je 0x1003414
push 0xff
push eax
push 0x10109e8
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
call fcn.010031e9
cmp dword [ebp - 0x724], ebx
je 0x10037e4
push dword [ebp - 0x724]
call esi
pop ecx
mov ecx, eax
inc ecx
mov eax, 0xff
cmp ecx, eax
jae 0x1003444
push dword [ebp - 0x724]
call esi
pop ecx
inc eax
push eax
push dword [ebp - 0x724]
push 0x10107e8
call dword [sym.imp.msvcrt.dll_wcsncpy]
add esp, 0xc
push 0x102b460
push dword [0x1025d14]
mov word [0x10109e6], bx
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
push dword [0x1025d18]
call fcn.010064c8
test byte [0x102aa64], 4
je 0x10034b9
movsx eax, word [0x102b46c]
movsx ecx, word [0x102b470]
sub ecx, eax
movsx eax, word [0x102b474]
inc ecx
cmp ecx, eax
jne 0x10034b9
dec word [0x102b462]
dec word [0x102b470]
mov dword [0x1010708], 1
call fcn.0100329a
cmp dword [0x101074c], ebx
je 0x10034d3
call fcn.01002657
test eax, eax
je 0x10037e4
mov al, byte [0x102aa64]
test al, 1
je 0x10034f4
test al, 2
je 0x10034f4
mov eax, dword [0x1010740]
and eax, 0xff00
je 0x10034f4
mov dword [ebp - 0x72c], eax
jmp 0x10034fb
or dword [ebp - 0x72c], 0xffffffff
push 0x102b1cc
push 0x102aca0
call fcn.01007e76
cmp dword [0x101075c], ebx
je 0x100351b
or byte [0x102b261], 1
jmp 0x1003522
and byte [0x102b261], 0xfe
mov al, byte [0x102aa64]
test al, 1
je 0x1003589
test al, 2
je 0x1003589
mov edx, dword [ebp - 0x72c]
test edx, edx
js 0x1003589
xor eax, eax
mov ecx, 0x100f878
cmp edx, dword [ecx]
je 0x1003555
add ecx, 0x210
inc eax
cmp ecx, 0x10106e8
jl 0x1003540
jmp 0x1003589
or byte [0x102b261], 0x10
imul eax, eax, 0x210
mov ecx, dword [eax + 0x100f878]
mov eax, dword [eax + 0x100f87c]
mov byte [0x1010741], bl
or dword [0x1010740], ecx
push 0x102b1cc
mov dword [0x102b3d4], eax
call fcn.010076a4
cmp dword [0x1025d20], ebx
je 0x100359b
mov eax, dword [0x1025d18]
mov dword [0x102b458], eax
push ebx
lea eax, [ebp - 0x728]
push eax
push 0x1029d00
call esi
pop ecx
push eax
push 0x1029d00
push dword [0x102b458]
call edi
push ebx
lea eax, [ebp - 0x728]
push eax
push dword [ebp - 0x724]
call esi
pop ecx
push eax
push dword [ebp - 0x724]
push dword [0x102b458]
call edi
push ebx
lea eax, [ebp - 0x728]
push eax
push 0x10018dc
call esi
pop ecx
push eax
push 0x10018dc
push dword [0x102b458]
call edi
push ebx
push ebx
mov esi, 0x104
push esi
lea eax, [ebp - 0x10c]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x724]
push ebx
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push esi
lea eax, [ebp - 0x720]
push 0x1027880
push eax
call dword [sym.imp.msvcrt.dll_wcsncpy]
lea eax, [ebp - 0x720]
push 0x10018e8
push eax
mov word [ebp - 0x516], bx
call dword [sym.imp.msvcrt.dll_wcscat]
push esi
push dword [ebp - 0x724]
lea eax, [ebp - 0x720]
push eax
call dword [sym.imp.msvcrt.dll_wcsncat]
add esp, 0x20
lea eax, [ebp - 0x720]
push eax
mov word [ebp - 0x30e], bx
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
mov esi, 0x102aca0
push esi
lea eax, [ebp - 0x10c]
push eax
push esi
call fcn.01005954
cmp dword [0x1025d20], ebx
mov dword [0x10107d0], eax
je 0x10036a5
mov ecx, dword [0x1025d14]
mov dword [0x1025d20], ebx
mov dword [0x102b458], ecx
cmp eax, 1
jne 0x10037e4
mov eax, dword [0x102b460]
mov dword [ebp - 0x724], eax
mov eax, dword [0x102aa64]
and eax, 4
je 0x10036e6
mov cx, word [0x102b460]
inc word [0x102b462]
mov word [ebp - 0x724], cx
mov cx, word [0x102b462]
mov word [ebp - 0x722], cx
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_SetConsoleScreenBufferSize]
je 0x1003713
push dword [ebp - 0x724]
push dword [0x1025d18]
call edi
test eax, eax
jne 0x1003713
push esi
push esi
call fcn.01005916
mov dword [0x10107d0], eax
jmp 0x10037e4
push dword [0x1025d18]
call fcn.01003180
test byte [0x102aa64], 4
mov eax, dword [0x102b46a]
mov dword [ebp - 0x730], eax
mov eax, dword [0x102b46e]
mov dword [ebp - 0x72c], eax
je 0x1003785
inc word [ebp - 0x72a]
lea eax, [ebp - 0x730]
push eax
push 1
push dword [0x1025d18]
call dword [sym.imp.KERNEL32.dll_SetConsoleWindowInfo]
push dword [ebp - 0x724]
mov dword [0x1010704], eax
push dword [0x1025d18]
call edi
cmp dword [0x1010708], ebx
mov dword [0x1010700], eax
je 0x1003785
mov dword [0x1010700], ebx
mov dword [0x1010704], ebx
push dword [ebp - 0x734]
push dword [0x1025d18]
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
mov eax, dword [ebp - 0x730]
mov dword [0x1025ca4], eax
mov eax, dword [ebp - 0x72c]
push esi
mov dword [0x1025ca8], eax
mov dword [0x102b1b8], ebx
mov dword [0x102b1bc], ebx
mov dword [0x102b1c0], ebx
mov dword [0x102b1c4], ebx
mov dword [0x102b1e0], ebx
mov dword [0x102b1dc], ebx
call fcn.0100a398
push ebx
push 0x1001528
call fcn.01002177
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.0100cdd8
leave
ret 4