Function at 0x47dfe0
Capabilities:
Connect socket
Initialize winsock library
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
mov eax, 0x2aa8
call fcn.0048bf20
push ebx
push ebp
push esi
lea eax, [esp + 0x124]
push edi
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
push sub.WSOCK32.dll_WSACleanup
mov esi, eax
call fcn.0048c5f5
add esp, 4
test eax, eax
jne 0x47e385
test esi, esi
jne 0x47e385
push esi
push 1
push 2
call sub.WSOCK32.dll_socket
mov esi, eax
cmp esi, 0xffffffff
je 0x47e385
push str.www.geocities.co.jp
call sub.WSOCK32.dll_gethostbyname
test eax, eax
je 0x47e37f
mov ecx, dword [eax + 0xc]
push 0x50
mov edx, dword [ecx]
mov eax, dword [edx]
mov word [esp + 0x18], 2
mov dword [esp + 0x1c], eax
call sub.WSOCK32.dll_htons
mov word [esp + 0x16], ax
xor eax, eax
lea ecx, [esp + 0x14]
push 0x10
mov dword [esp + 0x20], eax
push ecx
push esi
mov dword [esp + 0x2c], eax
call sub.WSOCK32.dll_connect
cmp eax, 0xffffffff
je 0x47e37f
mov eax, dword [0x517ff4]
lea edx, [esp + 0x24]
push 0x104
push edx
push 0x9e2
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x50
lea ecx, [esp + 0x28]
push str.www.geocities.co.jp
push ecx
lea edx, [esp + 0x2c4]
push str.GET__s_HTTP_1.0_r_nHost:__s:_d_r_nUser_Agent:_Mozura_0.0_r_n_r_n
push edx
call fcn.0048c636
lea edi, [esp + 0x2cc]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 0
lea eax, [esp + 0x2bc]
push ecx
push eax
push esi
call sub.WSOCK32.dll_send
cmp eax, 0xffffffff
je 0x47e377
push 0
lea ecx, [esp + 0xabc]
push 0x1fff
push ecx
push esi
call sub.WSOCK32.dll_recv
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x10], ebx
je 0x47e377
test ebx, ebx
je 0x47e377
push 2
push esi
mov byte [esp + ebx + 0xac0], 0
call sub.WSOCK32.dll_shutdown
push esi
call sub.WSOCK32.dll_closesocket
lea edx, [ebx - 0xe]
xor eax, eax
test edx, edx
jle 0x47e385
mov cl, byte [esp + eax + 0xab8]
lea esi, [esp + eax + 0xab8]
cmp cl, 0x4e
jne 0x47e15d
mov ecx, 9
mov edi, str.NNNesterJ
xor ebp, ebp
repe cmpsb byte [esi], byte es:[edi]
je 0x47e16f
inc eax
cmp eax, edx
jl 0x47e13a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2aa8
ret
mov ecx, dword [esp + 0x2ac0]
lea edx, [esp + eax + 0xab8]
mov esi, ecx
add eax, 0xe
mov edi, dword [edx]
mov dword [esi], edi
mov edi, dword [edx + 4]
mov dword [esi + 4], edi
mov edi, dword [edx + 8]
mov dword [esi + 8], edi
mov dx, word [edx + 0xc]
mov word [esi + 0xc], dx
mov dl, byte [esp + eax + 0xab8]
cmp dl, 0x20
mov esi, 0xe
mov byte [ecx + 0xe], dl
jbe 0x47e1bf
mov dl, byte [esp + eax + 0xab9]
inc esi
inc eax
cmp dl, 0x20
mov byte [esi + ecx], dl
ja 0x47e1ae
mov ebp, dword [esp + 0x2ac4]
mov byte [esi + ecx], 0
test ebp, ebp
je 0x47e31f
mov esi, dword [esp + 0x2abc]
mov byte [ebp], 0
mov edi, ecx
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x47e203
test cl, cl
je 0x47e1ff
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x47e203
add esi, 2
add edi, 2
test cl, cl
jne 0x47e1df
xor ecx, ecx
jmp 0x47e208
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
lea edx, [ebx - 6]
je 0x47e299
cmp eax, edx
jge 0x47e289
mov cl, byte [esp + eax + 0xab8]
lea esi, [esp + eax + 0xab8]
cmp cl, 0x5b
jne 0x47e23a
mov ecx, 5
mov edi, str._VUP_
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x47e24f
inc eax
cmp eax, edx
jl 0x47e217
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2aa8
ret
mov esi, dword [esp + 0x10]
add eax, 5
xor ecx, ecx
cmp eax, esi
jge 0x47e27c
mov bl, 0xa
mov dl, byte [esp + eax + 0xab8]
cmp dl, 0x5b
jne 0x47e273
cmp byte [esp + eax + 0xab7], bl
je 0x47e27c
mov byte [ecx + ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x47e25e
push ebp
mov byte [ecx + ebp], 0
call fcn.0047df80
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2aa8
ret
cmp eax, edx
jge 0x47e30f
mov cl, byte [esp + eax + 0xab8]
lea esi, [esp + eax + 0xab8]
cmp cl, 0x5b
jne 0x47e2c0
mov ecx, 5
mov edi, 0x4a5d48
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x47e2d5
inc eax
cmp eax, edx
jl 0x47e29d
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x2aa8
ret
mov esi, dword [esp + 0x10]
add eax, 5
xor ecx, ecx
cmp eax, esi
jge 0x47e302
mov bl, 0xa
mov dl, byte [esp + eax + 0xab8]
cmp dl, 0x5b
jne 0x47e2f9
cmp byte [esp + eax + 0xab7], bl
je 0x47e302
mov byte [ecx + ebp], dl
inc ecx
inc eax
cmp eax, esi
jl 0x47e2e4
push ebp
mov byte [ecx + ebp], 0
call fcn.0047df80
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x2aa8
ret
mov eax, dword [esp + 0x2abc]
mov esi, ecx
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x47e360
test cl, cl
je 0x47e34c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x47e360
add eax, 2
add esi, 2
test cl, cl
jne 0x47e328
xor eax, eax
pop edi
neg eax
sbb eax, eax
pop esi
pop ebp
add eax, 2
pop ebx
add esp, 0x2aa8
ret
sbb eax, eax
pop edi
sbb eax, 0xffffffff
pop esi
neg eax
sbb eax, eax
pop ebp
add eax, 2
pop ebx
add esp, 0x2aa8
ret
push 2
push esi
call sub.WSOCK32.dll_shutdown
push esi
call sub.WSOCK32.dll_closesocket
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2aa8
ret