Function at 0x4024c0
Capabilities:
Contain obfuscated stackstrings
Create raw socket
Create tcp socket
Create udp socket
Initialize winsock library
Receive data
Receive data on socket

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x40f268
push eax
mov eax, 0x2b00
mov dword fs:[0], esp
call fcn.00408680
push ebx
mov ebx, dword [esp + 0x2b14]
push ebp
mov ebp, ecx
push esi
push edi
test ebx, ebx
mov dword [esp + 0x18], ebp
jg 0x4024f9
mov ebx, 1
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x3c]
mov dword [ebp + 0x70], ebx
mov byte [esp + 0x3c], al
call fcn.00405d00
mov edi, str.WANPPPConnection
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.WANPPPConnection
lea ecx, [esp + 0x40]
call fcn.00405b50
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x4c], cl
lea ecx, [esp + 0x4c]
mov dword [esp + 0x2b1c], 0
call fcn.00405d00
mov edi, str.service
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.service
lea ecx, [esp + 0x50]
call fcn.00405b50
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2b1c], 1
mov byte [esp + 0x5c], dl
call fcn.00405d00
mov edi, str.WANIPConnection
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.WANIPConnection
lea ecx, [esp + 0x60]
call fcn.00405b50
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x2b1c], 2
mov byte [esp + 0x6c], al
call fcn.00405d00
mov edi, str.service
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.service
lea ecx, [esp + 0x70]
call fcn.00405b50
mov cl, byte [esp + 0x13]
push 0
mov byte [esp + 0x7c], cl
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2b1c], 3
call fcn.00405d00
mov edi, str.InternetGatewayDevice
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.InternetGatewayDevice
lea ecx, [esp + 0x80]
call fcn.00405b50
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2b1c], 4
mov byte [esp + 0x8c], dl
call fcn.00405d00
mov edi, str.device
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.device
lea ecx, [esp + 0x90]
call fcn.00405b50
lea eax, [esp + 0x180]
mov byte [esp + 0x2b18], 5
push eax
push 0x202
call dword [sym.imp.WSOCK32.dll_WSAStartup]
push 0
push 2
push 2
call dword [sym.imp.WSOCK32.dll_socket]
lea ecx, [esp + 0xa8]
mov esi, eax
push ecx
push 0x8004667e
push esi
mov dword [esp + 0x28], esi
mov dword [esp + 0xb4], 1
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
xor edi, edi
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x4026b3
mov eax, dword [esp + 0x20]
cmp eax, 0x1f4
jge 0x402ae3
cdq
mov ecx, 0x64
idiv ecx
test edx, edx
jne 0x4028f5
lea edi, [ebp + 0x10]
lea esi, [esp + 0x38]
mov dword [esp + 0x14], 3
lea edx, [esp + 0x140]
push ebx
push edx
call fcn.00401610
mov ebp, eax
lea eax, [esi + 0x10]
lea ecx, [esp + 0xe8]
push eax
push 0x415828
push ecx
mov byte [esp + 0x2b2c], 6
call fcn.00406430
push 0x4121a0
lea edx, [esp + 0xd8]
push eax
push edx
mov byte [esp + 0x2b38], 7
call fcn.00406300
push esi
push eax
lea eax, [esp + 0x158]
mov byte [esp + 0x2b40], 8
push eax
call fcn.00406430
push 0x4121a0
lea ecx, [esp + 0x180]
push eax
push ecx
mov byte [esp + 0x2b50], 9
call fcn.00406300
push ebp
lea edx, [esp + 0xd4]
push eax
push edx
mov byte [esp + 0x2b5c], 0xa
call fcn.00406430
add esp, 0x44
mov ecx, dword [0x410198]
mov byte [esp + 0x2b18], 0xb
push ecx
push 0
push eax
mov ecx, edi
call fcn.00405950
push 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2b1c], 0xa
call fcn.00405d00
push 1
lea ecx, [esp + 0x154]
mov byte [esp + 0x2b1c], 9
call fcn.00405d00
push 1
lea ecx, [esp + 0x134]
mov byte [esp + 0x2b1c], 8
call fcn.00405d00
push 1
lea ecx, [esp + 0xc4]
mov byte [esp + 0x2b1c], 7
call fcn.00405d00
push 1
lea ecx, [esp + 0xe4]
mov byte [esp + 0x2b1c], 6
call fcn.00405d00
push 1
lea ecx, [esp + 0x144]
mov byte [esp + 0x2b1c], 5
call fcn.00405d00
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
call fcn.00405d00
mov byte [esp + 0x2b18], 0xc
push edi
lea eax, [esp + 0x174]
push str.M_SEARCH__HTTP_1.1_r_nHOST:_239.255.255.250:1900_r_nMAN:__ssdp:discover__r_nMX:_6_r_nST:
push eax
call fcn.004061b0
push str._r_n_r_n
lea ecx, [esp + 0x110]
push eax
push ecx
mov byte [esp + 0x2b30], 0xd
call fcn.00406300
add esp, 0x18
mov edx, dword [0x410198]
lea ecx, [esp + 0x28]
push edx
push 0
push eax
mov byte [esp + 0x2b24], 0xe
call fcn.00405950
push 1
lea ecx, [esp + 0x104]
mov byte [esp + 0x2b1c], 0xd
call fcn.00405d00
push 1
lea ecx, [esp + 0x174]
mov byte [esp + 0x2b1c], 0xc
call fcn.00405d00
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x28]
push eax
push 0x76c
push 0xfaffffef
push ecx
call fcn.00401ed0
add esp, 0x10
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2b1c], 5
call fcn.00405d00
mov eax, dword [esp + 0x14]
add esi, 0x20
dec eax
mov dword [esp + 0x14], eax
jne 0x4026dd
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
xor edi, edi
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push edi
lea edx, [esp + 0x314]
push 0x2800
push edx
push esi
call dword [sym.imp.WSOCK32.dll_recv]
cmp eax, edi
mov dword [esp + 0xac], eax
mov byte [esp + eax + 0x310], 0
jle 0x402ad2
push esi
call dword [sym.imp.WSOCK32.dll_closesocket]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x310]
push eax
push ecx
call fcn.00401fe0
add esp, 8
test al, al
je 0x402c5d
mov dword [esp + 0x14], edi
add ebp, 0x10
lea esi, [esp + 0x38]
lea edx, [esp + 0xb0]
push ebx
push edx
call fcn.00401610
mov edi, eax
lea eax, [esi + 0x10]
lea ecx, [esp + 0x118]
push eax
push 0x415828
push ecx
mov byte [esp + 0x2b2c], 0xf
call fcn.00406430
push 0x4121a0
lea edx, [esp + 0x108]
push eax
push edx
mov byte [esp + 0x2b38], 0x10
call fcn.00406300
push esi
push eax
lea eax, [esp + 0xf8]
mov byte [esp + 0x2b40], 0x11
push eax
call fcn.00406430
push 0x4121a0
lea ecx, [esp + 0x190]
push eax
push ecx
mov byte [esp + 0x2b50], 0x12
call fcn.00406300
push edi
lea edx, [esp + 0x15c]
push eax
push edx
mov byte [esp + 0x2b5c], 0x13
call fcn.00406430
add esp, 0x44
mov ecx, dword [0x410198]
mov byte [esp + 0x2b18], 0x14
push ecx
push 0
push eax
mov ecx, ebp
call fcn.00405950
push 1
lea ecx, [esp + 0x124]
mov byte [esp + 0x2b1c], 0x13
call fcn.00405d00
push 1
lea ecx, [esp + 0x164]
mov byte [esp + 0x2b1c], 0x12
call fcn.00405d00
push 1
lea ecx, [esp + 0xd4]
mov byte [esp + 0x2b1c], 0x11
call fcn.00405d00
push 1
lea ecx, [esp + 0xf4]
mov byte [esp + 0x2b1c], 0x10
call fcn.00405d00
push 1
lea ecx, [esp + 0x114]
mov byte [esp + 0x2b1c], 0xf
call fcn.00405d00
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x2b1c], 5
call fcn.00405d00
mov eax, dword [ebp + 4]
test eax, eax
jne 0x402a96
mov eax, 0x41019c
mov edx, dword [esp + 0x24]
push eax
push edx
call fcn.004086b0
mov ecx, dword [esp + 0x2c]
add esp, 8
cmp eax, ecx
jae 0x402b29
mov eax, dword [esp + 0x14]
add esi, 0x20
inc eax
cmp eax, 2
mov dword [esp + 0x14], eax
jle 0x402958
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x20]
inc edx
cmp eax, edi
mov dword [esp + 0x20], edx
jle 0x4026af
push esi
call dword [sym.imp.WSOCK32.dll_closesocket]
push 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2b1c], 4
call fcn.00405d00
mov ecx, dword [esp + 0x7c]
cmp ecx, edi
je 0x402dff
mov al, byte [ecx - 1]
test al, al
je 0x402df5
cmp al, 0xff
je 0x402df5
dec al
mov byte [ecx - 1], al
jmp 0x402dff
mov eax, dword [esp + 0x18]
mov ebp, ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x402b3b
mov eax, 0x41019c
push eax
push 0x412140
call fcn.0040863a
push 0x412074
push ebp
call fcn.004086b0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x402c5d
mov bl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], bl
call fcn.00405d00
mov ecx, esi
sub ecx, ebp
push ecx
push ebp
lea ecx, [esp + 0x30]
call fcn.00405b50
mov edi, 0x412074
or ecx, 0xffffffff
xor eax, eax
push 9
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + 0x9c]
add esi, ecx
push eax
push edx
lea ecx, [esp + 0x34]
mov byte [esp + 0x2b24], 0x15
mov ebp, esi
call fcn.00405620
push str.LOCATION:
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2b1c], 0x16
call fcn.00406670
test eax, eax
je 0x402cda
push str.Location:
lea ecx, [esp + 0x9c]
call fcn.00406670
test eax, eax
je 0x402cda
mov edi, str.location:
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0xa0]
not ecx
dec ecx
push ecx
push str.location:
push eax
push 0
lea ecx, [esp + 0xa8]
call fcn.00406790
test eax, eax
je 0x402cda
push 1
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2b1c], 0x15
call fcn.00405d00
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2b1c], 5
call fcn.00405d00
push 0x412074
push esi
call fcn.004086b0
mov esi, eax
add esp, 8
test esi, esi
jne 0x402b62
push 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2b1c], 4
call fcn.00405d00
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2b1c], 3
call fcn.00405d00
push 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x2b1c], 2
call fcn.00405d00
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2b1c], 1
call fcn.00405d00
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2b1c], 0
call fcn.00405d00
push 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x2b1c], 0xffffffff
call fcn.00405d00
jmp 0x402ec5
mov ecx, dword [0x410198]
lea edx, [esp + 0xb0]
push ecx
push 0xa
push edx
lea ecx, [esp + 0x34]
call fcn.00405620
mov edi, dword [esp + 0x18]
mov ecx, dword [0x410198]
push ecx
push 0
lea esi, [edi + 0x20]
push eax
mov ecx, esi
mov byte [esp + 0x2b24], 0x17
call fcn.00405950
push 1
lea ecx, [esp + 0xb4]
mov byte [esp + 0x2b1c], 0x16
call fcn.00405d00
mov esi, dword [esi + 4]
test esi, esi
jne 0x402d36
mov esi, 0x41019c
push esi
push str.m_description:__s_n_n_n
call fcn.0040863a
add esp, 8
mov ecx, edi
call fcn.00402f10
push 1
lea ecx, [esp + 0x9c]
mov bl, al
mov byte [esp + 0x2b1c], 0x15
call fcn.00405d00
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2b1c], 5
call fcn.00405d00
push 1
lea ecx, [esp + 0x8c]
mov byte [esp + 0x2b1c], 4
call fcn.00405d00
push 1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2b1c], 3
call fcn.00405d00
push 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x2b1c], 2
call fcn.00405d00
push 1
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2b1c], 1
call fcn.00405d00
push 1
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2b1c], 0
call fcn.00405d00
push 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x2b1c], 0xffffffff
call fcn.00405d00
mov al, bl
jmp 0x402ec7
dec ecx
push ecx
call fcn.00408147
add esp, 4
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x7c], edi
cmp ecx, edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
je 0x402e35
mov al, byte [ecx - 1]
test al, al
je 0x402e2b
cmp al, 0xff
je 0x402e2b
dec al
mov byte [ecx - 1], al
jmp 0x402e35
dec ecx
push ecx
call fcn.00408147
add esp, 4
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x6c], edi
cmp ecx, edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
je 0x402e65
mov al, byte [ecx - 1]
test al, al
je 0x402e5b
cmp al, 0xff
je 0x402e5b
dec al
mov byte [ecx - 1], al
jmp 0x402e65
dec ecx
push ecx
call fcn.00408147
add esp, 4
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x5c], edi
cmp ecx, edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
je 0x402e95
mov al, byte [ecx - 1]
test al, al
je 0x402e8b
cmp al, 0xff
je 0x402e8b
dec al
mov byte [ecx - 1], al
jmp 0x402e95
dec ecx
push ecx
call fcn.00408147
add esp, 4
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edi
cmp ecx, edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
je 0x402ec5
mov al, byte [ecx - 1]
test al, al
je 0x402ebb
cmp al, 0xff
je 0x402ebb
dec al
mov byte [ecx - 1], al
jmp 0x402ec5
dec ecx
push ecx
call fcn.00408147
add esp, 4
xor al, al
mov ecx, dword [esp + 0x2b10]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x2b0c
ret 4