Function at 0x409700
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x438170]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x44a3dc]
push ebx
mov ebx, dword [0x44a4a0]
push esi
push edi
mov edi, dword [0x44a4a4]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x258], edi
mov dword [ebp - 0x248], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0041577e
add esp, 4
push 0xe128c8
call fcn.00414cfb
mov esi, eax
add esp, 4
test esi, esi
je 0x40977e
push 0xe128c8
push 0
push esi
call fcn.0041e930
add esp, 0xc
mov ecx, esi
call fcn.00413f70
jmp 0x409780
xor eax, eax
mov dword [0x43a1c0], eax
call fcn.00410790
cmp edi, 1
jne 0x4097c0
mov ecx, dword [0x43a1c0]
mov eax, dword [ecx]
call dword [eax + 4]
test eax, eax
jne 0x4097c0
push str.E:_Icmp_need_admin_privilege_n
call fcn.004156af
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.004144c7
mov esp, ebp
pop ebp
ret
push 0xeb98
call fcn.00414cfb
mov esi, eax
add esp, 4
test esi, esi
je 0x4097ee
push 0xeb98
push 0
push esi
call fcn.0041e930
add esp, 0xc
mov ecx, esi
call fcn.00401790
mov edi, eax
jmp 0x4097f0
xor edi, edi
cmp byte [0x44a3e0], 0
je 0x409893
cmp dword [ebp - 0x258], 6
mov esi, 0x57
jne 0x40982d
test ebx, ebx
je 0x409849
push ebx
push 0x44a3e0
push str.Connecting__s:_d_...
call fcn.004156af
add esp, 8
push ebx
push ecx
mov ecx, edi
call fcn.00403930
jmp 0x409843
push 0x44a3e0
push str.Connecting_ICMP__s_...
call fcn.004156af
mov ecx, edi
call fcn.00403ba0
mov esi, eax
test esi, esi
je 0x4098b3
mov ecx, esi
call fcn.0040a070
push eax
push 0x43521c
push edi
call fcn.00401a80
add esp, 0xc
cmp dword [ebp - 0x230], 0
je 0x409ab8
cmp esi, 0x56
je 0x409ab8
push str.Delay_5_seconds_to_retry_n
push edi
call fcn.00401a80
add esp, 8
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x409aa2
test ebx, ebx
je 0x4098c0
push ebx
push str.Listen__d__Waiting_connect_...
call fcn.004156af
add esp, 4
mov ecx, edi
push ebx
call fcn.00403e20
mov esi, eax
test esi, esi
jne 0x409849
push 0x435218
call fcn.004156af
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x254], ecx
mov esi, ecx
lea eax, [edi + 0xd4]
push eax
push str._nA1ex___s__
push edi
lea ebx, [edi + 0xab3c]
call fcn.00401a80
movzx eax, word [edi + 0xab3a]
add esp, 0xc
test ax, ax
je 0x40995f
movzx ecx, word [edi + 0xab38]
test cx, cx
je 0x40995f
sub ax, word [edi + 0xab36]
sub cx, word [edi + 0xab34]
inc ax
mov word [ebp - 0x24a], ax
mov eax, dword [edi + 0xab34]
mov dword [ebp - 0x268], eax
mov eax, dword [edi + 0xab38]
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x268]
push eax
xor edx, edx
push edx
inc cx
mov word [ebp - 0x24c], cx
push dword [ebp - 0x24c]
mov dword [ebp - 0x250], edx
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff5
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputW]
jmp 0x409965
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
lea eax, [ebp - 0x22c]
push eax
push 0xfffffffffffffff5
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
mov ebx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21e]
mov ecx, dword [ebp - 0x222]
lea eax, [ebx + 3]
mov word [ebp - 0x236], ax
mov eax, dword [ebp - 0x236]
sub eax, ebx
inc eax
mov word [ebp - 0x23e], ax
mov word [ebp - 0x238], dx
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x260]
push eax
sub edx, ecx
push esi
inc edx
mov word [ebp - 0x240], dx
push dword [ebp - 0x240]
lea eax, [edi + 0xab3c]
mov word [ebp - 0x23c], cx
push eax
mov word [ebp - 0x23a], bx
mov ebx, dword [ebp - 0x23c]
push 0xfffffffffffffff5
mov dword [ebp - 0x260], ebx
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputW]
test eax, eax
je 0x409a14
mov eax, dword [ebp - 0x238]
mov dword [edi + 0xab34], ebx
mov dword [edi + 0xab38], eax
mov ecx, edi
call fcn.004033e0
push 0x208
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.0041e930
add esp, 0xc
lea eax, [ebp - 0x214]
push 0x104
push eax
call fcn.00414f20
add esp, 8
test eax, eax
je 0x409a79
cmp word [ebp - 0x214], 0
je 0x409a79
lea eax, [ebp - 0x214]
push str.Exitrk
push eax
call fcn.00426658
add esp, 8
test eax, eax
je 0x409ac9
lea eax, [ebp - 0x214]
push eax
mov ecx, edi
call fcn.00401c60
cmp dword [edi + 0xeb3c], 0
je 0x4098ca
push str._n_n___Network_broken____n_n
push edi
call fcn.00401a80
add esp, 8
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
mov ebx, dword [ebp - 0x244]
cmp dword [ebp - 0x230], 0
je 0x409ab8
cmp dword [ebp - 0x248], 0
je 0x4097c0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004144c7
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0x248], 1
jmp 0x409a94