Function at 0x452484
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Reference http user-agent string
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov eax, 0x418c
mov ebp, esp
push edi
push esi
push ebx
call fcn.00594270
xor eax, eax
xor edx, edx
mov ecx, 0x50
mov dword [ebp - 0x4158], eax
xor eax, eax
lea edi, [ebp - 0x128]
mov dword [ebp - 0x415c], eax
mov eax, 0x4014
mov dword [ebp - 0x4150], ecx
mov dword [ebp - 0x4154], edx
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
lea eax, [ebp - 0x4148]
mov dword [esp], eax
call sub.msvcrt.dll_memset
cld
mov edx, dword [ebp + 8]
mov ecx, 4
mov eax, dword [ebp - 0x415c]
mov dword [edx + 8], 0xffffffff
rep stosd dword es:[edi], eax
mov eax, 2
mov edi, str.http
mov word [ebp - 0x128], ax
mov eax, 4
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov edx, dword [ebp + 0xc]
mov dword [esp], edx
call sub.msvcrt.dll__strnicmp_1
test eax, eax
mov edx, 3
jne 0x45256e
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 4], 0x73
je 0x452934
mov eax, dword [ebp + 0xc]
mov edx, 0x3a
mov dword [esp + 4], edx
add eax, 4
mov dword [esp], eax
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x416c], eax
test eax, eax
je 0x452569
cld
mov esi, dword [ebp - 0x416c]
mov eax, 3
mov edi, 0x5b29aa
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x452578
mov edx, 3
lea esp, [ebp - 0xc]
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x416c]
mov eax, 0x2f
mov dword [esp + 4], eax
add ebx, 3
mov dword [esp], ebx
call sub.msvcrt.dll_strchr
mov dword [esp + 4], ebx
mov esi, eax
mov edi, eax
sub esi, ebx
lea ebx, [ebp - 0x118]
mov dword [esp + 8], esi
mov dword [esp], ebx
call sub.msvcrt.dll_strncpy
xor eax, eax
mov byte [esi + ebp - 0x118], al
mov eax, 0x3a
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_strrchr
mov dword [ebp - 0x416c], eax
test eax, eax
je 0x4525e4
mov byte [eax], 0
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x4150], eax
mov dword [esp], ebx
call sub.WS2_32.dll_inet_addr
mov dword [ebp - 0x124], eax
sub esp, 4
inc eax
je 0x45298b
movzx eax, word [ebp - 0x4150]
mov esi, 6
mov dword [esp], eax
call sub.WS2_32.dll_htons
mov word [ebp - 0x126], ax
sub esp, 4
mov ecx, 1
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], 2
call sub.WS2_32.dll_socket
mov dword [ebp - 0x4148], eax
sub esp, 0xc
inc eax
mov edx, 6
je 0x45256e
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xc]
mov eax, edi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], edi
sub eax, edx
inc eax
mov dword [esp + 0x14], eax
mov eax, str.Mozilla_5.0
lea edx, [ebp - 0x413c]
mov dword [esp + 0xc], eax
mov eax, str.GET__s_HTTP_1.0_r_nUser_Agent:__s_r_nHost:__s_r_nReferrer:__.s_r_n
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_sprintf
mov ecx, dword [ebp + 8]
mov ebx, eax
mov eax, dword [ecx]
cmp byte [eax], 0
jne 0x4529b1
mov eax, 0xa0d
mov edi, 0x10
mov word [ebp + ebx - 0x413c], ax
xor eax, eax
mov byte [ebp + ebx - 0x413a], al
lea eax, [ebp - 0x128]
mov dword [esp + 8], edi
add ebx, 2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4148]
mov dword [esp], eax
call sub.WS2_32.dll_connect
sub esp, 0xc
test eax, eax
js 0x452a87
mov esi, dword [ebp - 0x4154]
test esi, esi
je 0x45271f
mov eax, dword [0x660440]
mov dword [esp], eax
call fcn.00457760
mov dword [ebp - 0x138], eax
mov edx, dword [ebp - 0x4148]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00458680
mov eax, dword [ebp - 0x138]
mov dword [esp], eax
call fcn.00459240
test eax, eax
mov ebx, eax
js 0x452a69
mov dword [esp + 8], ebx
lea edx, [ebp - 0x413c]
lea ecx, [ebp - 0x4148]
mov dword [esp + 4], edx
mov dword [esp], ecx
call fcn.00449874
mov edx, 0x1388
mov eax, 4
mov dword [ebp - 0x414c], edx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x414c]
mov dword [esp + 0xc], eax
mov eax, 0x1006
mov dword [esp + 8], eax
mov eax, 0xffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4148]
mov dword [esp], eax
call sub.WS2_32.dll_setsockopt
sub esp, 0x14
test eax, eax
jne 0x4529d4
xor edi, edi
xor esi, esi
lea eax, [ebp - 0x4148]
mov dword [ebp - 0x4144], edi
mov dword [ebp - 0x13c], esi
mov dword [esp], eax
call fcn.00449744
test eax, eax
jle 0x452a87
cld
mov edi, str.HTTP_1
mov ecx, 6
lea esi, [ebp - 0x413c]
repe cmpsb byte [esi], byte es:[edi]
jne 0x452962
lea edx, [ebp - 0x413c]
mov ebx, 0x20
mov dword [esp], edx
mov dword [esp + 4], ebx
call sub.msvcrt.dll_strchr
mov dword [ebp - 0x416c], eax
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, dword [ebp + 8]
cmp eax, 0x12b
mov dword [ecx + 8], eax
jg 0x452a00
mov ebx, dword [ebp - 0x4144]
lea edx, [ebp - 0x413c]
mov esi, 0xa
mov dword [esp + 4], esi
mov dword [esp], edx
mov dword [esp + 8], ebx
call sub.msvcrt.dll_memchr
mov dword [ebp - 0x416c], eax
test eax, eax
je 0x452962
mov eax, dword [ebp - 0x416c]
lea ecx, [ebp - 0x4148]
inc eax
mov dword [ebp - 0x4140], eax
sub ecx, eax
lea eax, [ebx + ecx + 0xc]
mov dword [ebp - 0x4144], eax
jmp 0x45288a
mov eax, dword [ebp - 0x4140]
add eax, 0x10
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov dword [ebp - 0x4158], eax
mov eax, dword [ebp - 0x4140]
add ebx, 2
mov edx, ebx
mov dword [ebp - 0x4140], ebx
sub edx, eax
mov eax, dword [ebp - 0x4144]
sub eax, edx
test eax, eax
mov dword [ebp - 0x4144], eax
jle 0x452a97
mov esi, dword [ebp - 0x4144]
mov eax, 0xd
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x4140]
mov dword [esp], eax
call sub.msvcrt.dll_memchr
test eax, eax
mov ebx, eax
je 0x452ac6
mov eax, dword [ebp - 0x4140]
cmp byte [eax], 0xd
je 0x452ab4
mov dword [esp], eax
mov ecx, 0x10
mov edx, str.Content_Length:
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call sub.msvcrt.dll__strnicmp_1
test eax, eax
je 0x45284a
mov eax, 0xf
mov dword [esp + 8], eax
mov eax, str.Last_Modified:
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4140]
mov dword [esp], eax
call sub.msvcrt.dll__strnicmp_1
test eax, eax
jne 0x452861
mov byte [ebx], 0
mov eax, dword [ebp - 0x4140]
add eax, 0xf
mov dword [esp + 4], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
jmp 0x452861
mov ecx, dword [0x660440]
mov esi, 1
mov ebx, 0x1bb
mov dword [ebp - 0x4154], esi
mov dword [ebp - 0x4150], ebx
test ecx, ecx
jne 0x452531
call fcn.00448164
jmp 0x452531
mov ebx, 3
mov dword [ebp - 0x415c], ebx
lea ecx, [ebp - 0x4148]
mov dword [esp], ecx
call fcn.00449994
mov edx, dword [ebp - 0x415c]
lea esp, [ebp - 0xc]
pop ebx
mov eax, edx
pop esi
pop edi
pop ebp
ret
mov dword [esp], ebx
call sub.WS2_32.dll_gethostbyname
sub esp, 4
test eax, eax
je 0x4529a7
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x452a5c
mov edx, 6
jmp 0x45256e
mov dword [esp + 8], eax
mov eax, str.If_Modified_Since:__s_r_n
mov dword [esp + 4], eax
lea eax, [ebp + ebx - 0x413c]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
add ebx, eax
jmp 0x452693
mov dword [esp], 1
mov eax, 5
mov dword [esp + 0xc], eax
mov eax, str.HTTP_get
mov dword [esp + 8], eax
mov eax, str._s__Setting_socket_timeout_to__ds_failed_
mov dword [esp + 4], eax
call fcn.00452044
jmp 0x452784
mov ecx, 1
cmp eax, 0x130
mov dword [ebp - 0x415c], ecx
je 0x45296d
mov edx, 2
cmp eax, 0x194
mov dword [ebp - 0x415c], edx
je 0x4527fa
mov edi, 4
cmp eax, 0x1f3
mov dword [ebp - 0x415c], edi
jg 0x4527fa
cmp eax, 0x190
setl al
movzx eax, al
lea eax, [eax + eax + 3]
mov dword [ebp - 0x415c], eax
jmp 0x4527fa
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
jmp 0x4525fc
mov dword [esp], 1
mov ebx, str.HTTP_get
mov ecx, str._s__TLS_Connect_failed
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
call fcn.00452044
mov eax, 6
mov dword [ebp - 0x415c], eax
jmp 0x45296d
lea ecx, [ebp - 0x4148]
mov dword [esp], ecx
call fcn.00449744
test eax, eax
jg 0x45288a
jmp 0x452a87
add eax, 2
mov dword [ebp - 0x4140], eax
lea eax, [esi - 2]
mov dword [ebp - 0x4144], eax
xor ebx, ebx
cmp dword [ebp - 0x4158], 0
setg bl
jmp 0x452aee
mov edx, dword [ebp - 0x4144]
sub dword [ebp - 0x4158], edx
mov eax, dword [ebp + 8]
xor esi, esi
add dword [eax + 4], edx
mov dword [ebp - 0x4144], esi
mov ecx, dword [ebp - 0x4158]
test ebx, ebx
sete al
test ecx, ecx
setg dl
or eax, edx
test al, 1
je 0x452b5e
mov edx, dword [ebp - 0x4144]
test edx, edx
jle 0x452b44
mov ecx, dword [ebp + 8]
mov edi, 1
mov eax, dword [ecx + 0xc]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x4140]
mov dword [esp], eax
call dword [ebp + 0x10]
test ebx, ebx
jne 0x452ad4
mov edx, dword [ebp - 0x4144]
jmp 0x452ae0
lea edx, [ebp - 0x4148]
mov dword [esp], edx
call fcn.00449744
test eax, eax
jle 0x452b5e
mov edx, dword [ebp - 0x4144]
jmp 0x452b0e
mov edx, dword [ebp - 0x4158]
test edx, edx
jg 0x452a87
jmp 0x45296d