Function at 0x409470
Capabilities:
Get local ipv4 addresses
Get socket information
Get system information on windows

Disassembly:
sub esp, 0x4c4
push ebx
push esi
lea eax, [esp + 0x44]
push edi
push eax
mov byte [esp + 0x48], 0x66
mov byte [esp + 0x126], 0
mov dword [esp + 0x4c], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov edx, dword [esp + 0x4d4]
lea ecx, [esp + 0x3d0]
push 0x100
push ecx
push edx
call fcn.004093d0
mov ebx, dword [esp + 0x4e4]
xor eax, eax
mov dword [esp + 0x1c], eax
add esp, 0xc
mov dword [esp + 0x14], eax
lea ecx, [esp + 0xc]
mov dword [esp + 0x18], eax
lea edx, [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0xa8]
push ecx
push edx
push eax
mov dword [esp + 0x18], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
mov ecx, dword [esp + 0x14]
lea esi, [esp + 0x3d0]
mov dword [esp + 0xec], ecx
mov ecx, 0xc
lea edi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.00409250
lea edx, [esp + 0x20]
mov dword [esp + 0xe4], eax
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xe8], eax
call fcn.00409390
mov ecx, dword [esp + 0x4dc]
mov byte [esp + 0x122], al
mov dword [esp + 0x124], ecx
call fcn.004092b0
push eax
call dword [sym.imp.MSVCRT.dll_atol]
mov dword [esp + 0x12c], eax
call fcn.00409320
mov edx, dword [0x41a4a4]
push str.VVVVVV
push edx
mov dword [esp + 0x138], eax
call fcn.00404e40
add esp, 0xc
test eax, eax
jne 0x409590
pop edi
pop esi
or eax, 0xffffffff
pop ebx
add esp, 0x4c4
ret
add eax, 6
push eax
call fcn.00408f00
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x134]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.WWWWWW
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x41a4a4]
push ecx
call fcn.00404e40
add eax, 6
push eax
call fcn.00408f00
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x270]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, 0x31b5d43b
imul edi
sar edx, 0x18
mov ecx, edx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
shr ecx, 0x1f
add edx, ecx
push edx
lea edx, [esp + 0x370]
push 0x4189a0
push edx
call esi
mov eax, edi
mov ecx, 0x5265c00
cdq
idiv ecx
mov eax, 0x4a90be59
lea ecx, [esp + 0x314]
mov edi, edx
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x4189a0
push ecx
call esi
mov eax, edi
mov ecx, 0x36ee80
cdq
idiv ecx
mov eax, 0x45e7b273
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
lea ecx, [esp + 0x2c0]
push 0x4189a0
push ecx
call esi
lea edx, [esp + 0x2c8]
lea eax, [esp + 0x32c]
push edx
lea ecx, [esp + 0x394]
push eax
push ecx
lea edx, [esp + 0x174]
push 0x418a7c
push edx
call esi
mov eax, dword [0x41a4a4]
push str.ZZZZZZ
push eax
call fcn.00404e40
add eax, 6
or ecx, 0xffffffff
mov edi, eax
xor eax, eax
add esp, 0x40
lea edx, [esp + 0x284]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x260
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x48]
push ecx
mov ecx, ebx
call fcn.00402580
pop edi
pop esi
pop ebx
add esp, 0x4c4
ret