Function at 0x42dcff
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get socket status
Initialize winsock library
Receive data
Receive data on socket
Reference http user-agent string
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x467ca6
mov eax, dword fs:[0]
push eax
mov eax, 0x194cc
call fcn.00438820
mov eax, dword [0x483e68]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x19400], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp - 0x193f0], ecx
mov dword [ebp - 0x193fc], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x19134], 0xf
mov dword [ebp - 0x19138], ebx
mov byte [ebp - 0x19148], bl
mov dword [ebp - 0x19410], ebx
mov dword [ebp - 0x1940c], ebx
mov dword [ebp - 0x19408], ebx
xor eax, eax
push 0xc6
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0xd6]
push ebx
push eax
mov byte [ebp - 4], 4
call fcn.004374f0
add esp, 0xc
mov esi, 0x46bb7c
push esi
lea ecx, [ebp - 0x1912c]
call fcn.00402446
xor edi, edi
inc edi
push edi
push 2
lea ecx, [ebp - 0x194d8]
mov byte [ebp - 4], 5
mov byte [ebp - 0x190d8], bl
call fcn.00421fe9
push 0xfde9
push 0x64
mov ecx, 0x470498
lea edx, [ebp - 0xd8]
mov byte [ebp - 4], 6
call fcn.0041f298
pop ecx
pop ecx
test al, al
jne 0x42de3e
lea ecx, [ebp - 0x194d8]
mov byte [ebp - 4], 5
call fcn.00420607
push ebx
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00401713
lea ecx, [ebp - 0x19410]
call fcn.00429ed9
push ebx
push edi
lea ecx, [ebp - 0x19148]
call fcn.00401713
push ebx
push edi
lea ecx, [ebp + 8]
call fcn.00401713
push ebx
push edi
lea ecx, [ebp + 0x24]
call fcn.00401713
push ebx
push edi
lea ecx, [ebp + 0x40]
call fcn.00401713
xor eax, eax
jmp 0x42e7ab
lea eax, [ebp - 0xd8]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x42de57
xor eax, eax
jmp 0x42de7b
add eax, eax
mov dword [ebp - 0x193e8], eax
call fcn.00439560
mov eax, esp
push 3
push dword [ebp - 0x193e8]
lea ecx, [ebp - 0xd8]
push ecx
push eax
call fcn.00407cbb
push str.wan0_HTTP_1.1_r_n
push eax
lea eax, [ebp - 0x194d8]
push str.GET__userRpm_PPPoECfgAdvRpm.htm_Advanced
push eax
call fcn.0042173b
pop ecx
pop ecx
push eax
call fcn.0042173b
pop ecx
pop ecx
push eax
call fcn.0042173b
pop ecx
pop ecx
lea eax, [ebp - 0x19110]
push eax
lea ecx, [ebp - 0x194d8]
call fcn.0042952e
push eax
lea ecx, [ebp - 0x1912c]
mov byte [ebp - 4], 7
call fcn.00422411
push ebx
push edi
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 6
call fcn.00401713
mov eax, dword [ebp - 0x194d8]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x194d8]
mov eax, dword [ecx + 0x38]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.00401462
push esi
lea ecx, [ebp - 0x190f4]
call fcn.00402446
lea eax, [ebp - 0x190f4]
push eax
lea ecx, [ebp - 0x194d4]
mov byte [ebp - 4], 8
call fcn.0042019c
push ebx
push edi
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 6
call fcn.00401713
mov edi, str.Accept:_text_html__application_xhtmlxml____r_n
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
lea eax, [ebp - 0x194d8]
push str.Referer:_http:__192.168.1.1_userRpm_WanCfgRpm.htm_r_n
push eax
call fcn.0042173b
pop ecx
pop ecx
lea eax, [ebp - 0x19110]
push eax
lea ecx, [ebp - 0x194d8]
call fcn.0042952e
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x1912c]
mov byte [ebp - 4], 9
call fcn.00402179
mov byte [ebp - 4], 6
push ebx
push 1
lea ecx, [ebp - 0x19110]
call fcn.00401713
mov eax, dword [ebp - 0x194d8]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x194d8]
mov eax, dword [ecx + 0x38]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.00401462
push esi
lea ecx, [ebp - 0x190f4]
call fcn.00402446
lea eax, [ebp - 0x190f4]
push eax
lea ecx, [ebp - 0x194d4]
mov byte [ebp - 4], 0xa
call fcn.0042019c
push ebx
push 1
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 6
call fcn.00401713
mov edi, str.Accept_Language:_zh_CN_r_n
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
mov edi, str.User_Agent:_Mozilla_5.0__Windows_NT_6.1__WOW64__Trident_7.0__rv:11.0__like_Gecko_r_n
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
mov edi, str.Accept_Encoding:_gzip__deflate_r_n
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
mov edi, str.Connection:_Keep_Alive_r_n
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
mov edi, str.DNT:_1_r_n
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
mov edi, 0x46b8cc
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x194d8]
push str.Host:
push eax
call fcn.0042173b
pop ecx
pop ecx
push eax
call fcn.004022a9
pop ecx
pop ecx
push eax
call fcn.0042173b
pop ecx
pop ecx
lea eax, [ebp - 0x19110]
push eax
lea ecx, [ebp - 0x194d8]
call fcn.0042952e
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x1912c]
mov byte [ebp - 4], 0xb
call fcn.00402179
push ebx
push 1
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 6
call fcn.00401713
mov eax, dword [ebp - 0x194d8]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x194d8]
mov eax, dword [ecx + 0x38]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.00401462
push esi
lea ecx, [ebp - 0x190f4]
call fcn.00402446
lea eax, [ebp - 0x190f4]
push eax
lea ecx, [ebp - 0x194d4]
mov byte [ebp - 4], 0xc
call fcn.0042019c
push ebx
push 1
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 6
call fcn.00401713
push edi
sub esp, 0x1c
lea eax, [ebp + 0x40]
mov ecx, esp
mov dword [ebp - 0x193e8], esp
push eax
call fcn.00421ba7
sub esp, 0x1c
lea eax, [ebp + 0x24]
mov ecx, esp
mov dword [ebp - 0x193e0], esp
push eax
mov byte [ebp - 4], 0xd
call fcn.00421ba7
mov ecx, dword [ebp - 0x193f0]
lea eax, [ebp - 0x19110]
push eax
mov byte [ebp - 4], 6
call fcn.004262c2
push eax
lea eax, [ebp - 0x194d8]
push str.Authorization:_Basic
push eax
mov byte [ebp - 4], 0xe
call fcn.0042173b
pop ecx
pop ecx
push eax
call fcn.004022a9
pop ecx
pop ecx
push eax
call fcn.0042173b
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 6
call fcn.00401713
lea eax, [ebp - 0x19110]
push eax
lea ecx, [ebp - 0x194d8]
call fcn.0042952e
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x1912c]
mov byte [ebp - 4], 0xf
call fcn.00402179
push ebx
push 1
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 6
call fcn.00401713
mov eax, dword [ebp - 0x194d8]
mov ecx, dword [eax + 4]
lea ecx, [ebp + ecx - 0x194d8]
mov eax, dword [ecx + 0x38]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
push ebx
push eax
call fcn.00401462
push esi
lea ecx, [ebp - 0x190f4]
call fcn.00402446
lea eax, [ebp - 0x190f4]
push eax
lea ecx, [ebp - 0x194d4]
mov byte [ebp - 4], 0x10
call fcn.0042019c
push ebx
push 1
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 6
call fcn.00401713
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x1912c]
call fcn.00402475
cmp dword [ebp - 0x19118], 0x10
mov edi, dword [ebp - 0x1911c]
mov eax, dword [ebp - 0x1912c]
jae 0x42e25d
lea eax, [ebp - 0x1912c]
cmp dword [ebp + 0x1c], 0x10
mov dword [ebp - 0x193e8], eax
mov eax, dword [ebp + 8]
jae 0x42e26f
lea eax, [ebp + 8]
mov dword [ebp - 0x193e0], eax
lea eax, [ebp - 0x193dc]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
cmp eax, ebx
jne 0x42e40d
mov eax, 0x101
cmp word [ebp - 0x193dc], ax
jne 0x42e407
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x193e4], eax
cmp eax, 0xffffffff
je 0x42e40d
push dword [ebp - 0x193e0]
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
jne 0x42e2d7
push dword [ebp - 0x193e4]
jmp 0x42e401
push 2
pop ecx
mov word [ebp - 0x190e8], cx
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
push 8
mov dword [ebp - 0x190e4], eax
lea eax, [ebp - 0x190e0]
push ebx
push eax
call fcn.004374f0
add esp, 0xc
push 0x50
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x190e6], ax
push 0x10
lea eax, [ebp - 0x190e8]
push eax
push dword [ebp - 0x193e4]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x42e2cc
push ebx
push edi
push dword [ebp - 0x193e8]
mov edi, dword [ebp - 0x193e4]
push edi
call dword [sym.imp.WS2_32.dll_send]
lea eax, [ebp - 0x190d8]
test eax, eax
je 0x42e400
lea eax, [ebp - 0x193e8]
test eax, eax
je 0x42e400
lea eax, [ebp - 0x190d8]
mov dword [ebp - 0x193e0], eax
mov dword [ebp - 0x193e4], 0x18fff
lea eax, [ebp - 0x193ec]
push eax
push ebx
push ebx
lea eax, [ebp - 0x1924c]
push eax
push edi
mov dword [ebp - 0x19248], edi
mov dword [ebp - 0x1924c], 1
mov dword [ebp - 0x193ec], 0xa
mov dword [ebp - 0x193e8], 0x3e8
call dword [sym.imp.WS2_32.dll_select]
cmp eax, ebx
jle 0x42e3e8
lea eax, [ebp - 0x1924c]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x42e370
push ebx
push dword [ebp - 0x193e4]
push dword [ebp - 0x193e0]
push edi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, ebx
jle 0x42e3ee
add dword [ebp - 0x193e0], eax
sub dword [ebp - 0x193e4], eax
jne 0x42e370
jmp 0x42e3ee
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov eax, 0x18fff
sub eax, dword [ebp - 0x193e4]
mov byte [ebp + eax - 0x190d8], bl
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov dword [ebp - 0x19440], ebx
mov dword [ebp - 0x1943c], ebx
mov dword [ebp - 0x19438], ebx
mov dword [ebp - 0x19430], ebx
mov dword [ebp - 0x1942c], ebx
mov dword [ebp - 0x19428], ebx
mov byte [ebp - 0x19424], bl
mov dword [ebp - 0x19420], ebx
mov dword [ebp - 0x1941c], ebx
mov dword [ebp - 0x19418], ebx
mov byte [ebp - 0x19414], 1
push 0x100000
push str.new_Array__.____
lea ecx, [ebp - 0x193f8]
mov byte [ebp - 4], 0x11
call fcn.00408089
lea eax, [ebp - 0x190d8]
push eax
mov byte [ebp - 4], 0x12
call fcn.00435c90
lea ecx, [ebp - 0x190d8]
push ecx
push ebx
lea ecx, [ebp - 0x193f8]
push ecx
lea ecx, [ebp - 0x19440]
push ecx
lea eax, [ebp + eax - 0x190d8]
push eax
lea eax, [ebp - 0x190d8]
push eax
call fcn.0042d04c
add esp, 0x1c
test al, al
je 0x42e730
lea eax, [ebp - 0x19110]
push eax
push 1
lea ecx, [ebp - 0x19440]
call fcn.00424bfa
mov ecx, eax
call fcn.00424c40
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x13
jb 0x42e4d7
mov edi, dword [eax]
jmp 0x42e4d9
mov edi, eax
push edi
call fcn.00435c90
pop ecx
push eax
push edi
lea ecx, [ebp - 0x19148]
call fcn.00401f36
push ebx
push 1
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 0x12
call fcn.00401713
cmp dword [ebp - 0x19138], ebx
jbe 0x42e730
push esi
lea ecx, [ebp - 0x19110]
call fcn.00402446
push 0x47040c
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 0x14
call fcn.00402446
mov ecx, dword [ebp - 0x193f0]
lea eax, [ebp - 0x19110]
push eax
lea eax, [ebp - 0x190f4]
push eax
lea eax, [ebp - 0x19148]
push eax
mov byte [ebp - 4], 0x15
call fcn.00421cd6
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x190f4]
call fcn.00401713
push ebx
push edi
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 0x12
call fcn.00401713
push esi
lea ecx, [ebp - 0x190f4]
call fcn.00402446
push 0x46bb80
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 0x16
call fcn.00402446
mov ecx, dword [ebp - 0x193f0]
lea eax, [ebp - 0x190f4]
push eax
lea eax, [ebp - 0x19110]
push eax
lea eax, [ebp - 0x19148]
push eax
mov byte [ebp - 4], 0x17
call fcn.00421cd6
push ebx
push edi
lea ecx, [ebp - 0x19110]
call fcn.00401713
push ebx
push edi
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 0x12
call fcn.00401713
push 0x46e724
lea edx, [ebp - 0x19148]
lea ecx, [ebp - 0x190e8]
call fcn.0042c281
pop ecx
push eax
lea ecx, [ebp - 0x19410]
mov byte [ebp - 4], 0x18
call fcn.0042bcbf
lea ecx, [ebp - 0x190e8]
mov byte [ebp - 4], 0x12
call fcn.00429ed9
mov eax, dword [ebp - 0x1940c]
mov edi, dword [ebp - 0x19410]
sub eax, edi
push 0x1c
pop ecx
cdq
idiv ecx
push 0x1f
pop ecx
cmp eax, ecx
jne 0x42e730
mov dword [ebp - 0x193e0], edi
mov dword [ebp - 0x193e8], ecx
push esi
lea ecx, [ebp - 0x190f4]
call fcn.00402446
push 0x46bc34
lea ecx, [ebp - 0x19110]
mov byte [ebp - 4], 0x19
call fcn.00402446
mov ecx, dword [ebp - 0x193f0]
lea eax, [ebp - 0x190f4]
push eax
lea eax, [ebp - 0x19110]
push eax
push dword [ebp - 0x193e0]
mov byte [ebp - 4], 0x1a
call fcn.00421cd6
push ebx
push 1
lea ecx, [ebp - 0x19110]
call fcn.00401713
push ebx
push 1
lea ecx, [ebp - 0x190f4]
mov byte [ebp - 4], 0x12
call fcn.00401713
add dword [ebp - 0x193e0], 0x1c
dec dword [ebp - 0x193e8]
jne 0x42e633
push esi
call fcn.00435c90
pop ecx
push eax
push esi
push dword [edi + 0x198]
lea ecx, [edi + 0x188]
push ebx
call fcn.00401676
test eax, eax
jne 0x42e6e0
push 0x470408
call fcn.00435c90
pop ecx
push eax
push 0x470408
lea ecx, [edi + 0x188]
call fcn.00401f36
mov esi, dword [ebp - 0x19400]
push 0xffffffffffffffff
lea eax, [edi + 0x1c0]
push ebx
push eax
mov ecx, esi
call fcn.00401e9d
push 0xffffffffffffffff
lea eax, [edi + 0x1dc]
mov edi, dword [ebp - 0x193fc]
push ebx
push eax
mov ecx, edi
call fcn.00401e9d
cmp dword [esi + 0x10], ebx
jbe 0x42e730
cmp dword [edi + 0x10], ebx
jbe 0x42e730
mov ecx, dword [ebp - 0x193f4]
mov byte [ebp - 4], 0x11
cmp ecx, ebx
je 0x42e72b
call fcn.00407f23
xor edi, edi
inc edi
jmp 0x42e745
mov ecx, dword [ebp - 0x193f4]
mov byte [ebp - 4], 0x11
cmp ecx, ebx
je 0x42e743
call fcn.00407f23
xor edi, edi
lea ecx, [ebp - 0x19440]
mov byte [ebp - 4], 6
call fcn.00408af0
lea ecx, [ebp - 0x194d8]
mov byte [ebp - 4], 5
call fcn.00420607
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp - 0x1912c]
call fcn.00401713
lea ecx, [ebp - 0x19410]
call fcn.00429ed9
push ebx
push esi
lea ecx, [ebp - 0x19148]
call fcn.00401713
push ebx
push esi
lea ecx, [ebp + 8]
call fcn.00401713
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00401713
push ebx
push esi
lea ecx, [ebp + 0x40]
call fcn.00401713
mov eax, edi
lea esp, [ebp - 0x194e8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00435805
leave
ret 0x5c