Function at 0x4107d0
Capabilities:
Connect socket
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
mov eax, 0x2518
call fcn.004116a0
mov eax, dword [0x529244]
push ebp
push esi
xor esi, esi
cmp eax, esi
push edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
je 0x410c8e
cmp dword [0x52a924], esi
jne 0x410c8e
push esi
call fcn.0040dd30
mov ebp, eax
add esp, 4
cmp ebp, esi
jge 0x410826
push str._yp_add__error_creating_socket__n
call fcn.0040b170
add esp, 4
pop edi
pop esi
pop ebp
add esp, 0x2518
ret
mov cx, word [0x41b3d0]
xor eax, eax
mov dword [esp + 0x14], eax
push ecx
mov dword [esp + 0x1c], eax
mov word [esp + 0x18], 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
call sub.WSOCK32.dll_htons
lea edx, [esp + 0x18]
mov word [esp + 0x16], ax
push edx
push str.yp.shoutcast.com
call fcn.0040df70
add esp, 8
test eax, eax
jne 0x410884
push str._yp_add__error_resolving_yp.shoutcast.com_n
call fcn.0040b170
push ebp
call fcn.0040dd10
add esp, 8
pop edi
pop esi
pop ebp
add esp, 0x2518
ret
lea eax, [esp + 0x14]
push 0x10
push eax
push ebp
call sub.WSOCK32.dll_connect
test eax, eax
je 0x4108b2
push str._yp_add__error_connecting_to_yp.shoutcast.com_n
call fcn.0040b170
push ebp
call fcn.0040dd10
add esp, 8
pop edi
pop esi
pop ebp
add esp, 0x2518
ret
mov cl, byte [0x423790]
xor eax, eax
mov byte [esp + 0x24], cl
mov ecx, 0x3f
lea edi, [esp + 0x25]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x423fd8]
test al, al
je 0x4108fd
mov ax, word [0x4240d8]
cmp ax, si
je 0x4108fd
xor edx, edx
mov dx, ax
lea eax, [esp + 0x24]
push edx
push 0x423fd8
push str.r_s:_d
push eax
call fcn.00411644
add esp, 0x10
lea ecx, [esp + 0x1924]
push ecx
push 0x52a520
call fcn.0040afa0
lea edx, [esp + 0x112c]
push edx
push 0x529260
call fcn.0040afa0
lea eax, [esp + 0xd34]
push eax
push 0x529ea0
call fcn.0040afa0
lea ecx, [esp + 0x153c]
push ecx
push 0x41b2d0
call fcn.0040afa0
lea edx, [esp + 0x2144]
push edx
push 0x428a20
call fcn.0040afa0
lea eax, [esp + 0x1d4c]
push eax
push 0x529660
call fcn.0040afa0
lea ecx, [esp + 0x954]
push ecx
push 0x528e40
call fcn.0040afa0
lea edx, [esp + 0x215c]
lea eax, [esp + 0x95c]
push edx
lea ecx, [esp + 0x1d60]
push eax
lea edx, [esp + 0x1564]
push ecx
lea eax, [esp + 0xd68]
push edx
lea ecx, [esp + 0x116c]
push eax
lea edx, [esp + 0x1970]
push ecx
mov ecx, dword [0x41b900]
push edx
lea eax, [esp + 0x78]
xor edx, edx
push eax
mov dx, word [0x41b2cc]
mov eax, dword [0x428888]
push ecx
push edx
push eax
lea ecx, [esp + 0x188]
push str.GET__addsrv_v1br_dp_dm_d_st_sg_surl_scontent_sirc_sicq_saim_s_HTTP_1.0_r_nHost:_yp.shoutcast.com_r_nAccept:___r_n_r_n
push ecx
call fcn.00411644
lea edi, [esp + 0x190]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x6c
repne scasb al, byte es:[edi]
not ecx
dec ecx
push esi
lea edx, [esp + 0x128]
push ecx
push edx
push ebp
call sub.WSOCK32.dll_send
push 1
push ebp
call fcn.0040dcf0
lea eax, [esp + 0x12c]
push 0x800
push eax
push ebp
call fcn.0040deb0
lea ecx, [esp + 0x138]
push 0x42117c
push ecx
call fcn.004116d0
add esp, 0x1c
test eax, eax
jne 0x410a5e
lea edx, [esp + 0x124]
push edx
push str._yp_add__yp.shoutcast.com_gave_error___s__n
call fcn.0040b170
push ebp
call fcn.0040dd10
add esp, 0xc
pop edi
pop esi
pop ebp
add esp, 0x2518
ret
lea eax, [esp + 0x124]
push 0x800
push eax
push ebp
call fcn.0040deb0
add esp, 0xc
test eax, eax
jl 0x410a8e
lea edi, [esp + 0x124]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jae 0x410a5e
push ebx
mov dword [0x528e20], 5
mov bl, 0x20
lea ecx, [esp + 0x128]
push 0x800
push ecx
push ebp
call fcn.0040deb0
add esp, 0xc
test eax, eax
jl 0x410c5b
lea edi, [esp + 0x128]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jb 0x410c5b
push 0xd
lea edx, [esp + 0x12c]
push str.icy_response:
push edx
call fcn.004121c0
add esp, 0xc
test eax, eax
jne 0x410b65
mov al, byte [esp + 0x135]
lea edi, [esp + 0x135]
cmp al, bl
jne 0x410b08
mov al, byte [edi + 1]
inc edi
cmp al, bl
je 0x410b00
mov esi, 0x4226a0
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x410b33
test cl, cl
je 0x410b2f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x410b33
add eax, 2
add esi, 2
test cl, cl
jne 0x410b0f
xor eax, eax
jmp 0x410b38
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x410a9b
push edi
push str._yp_add__yp.shoutcast.com_gave_error___s__n
call fcn.0040b170
add esp, 8
mov dword [0x424648], 0x12c
mov dword [esp + 0x10], 1
jmp 0x410a9b
push 7
lea eax, [esp + 0x12c]
push str.icy_id:
push eax
call fcn.004121c0
add esp, 0xc
test eax, eax
jne 0x410bac
mov cl, byte [esp + 0x12f]
lea eax, [esp + 0x12f]
cmp cl, bl
jne 0x410b9a
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
je 0x410b92
push eax
call fcn.00411639
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x410a9b
push 0xa
lea ecx, [esp + 0x12c]
push str.icy_error:
push ecx
call fcn.004121c0
add esp, 0xc
test eax, eax
jne 0x410bfc
mov eax, dword [esp + 0x10]
test eax, eax
je 0x410bfc
mov cl, byte [esp + 0x132]
lea eax, [esp + 0x132]
cmp cl, bl
jne 0x410be9
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
je 0x410be1
push eax
push str._yp_add__yp.shoutcast.com_gave_extended_error___s__n
call fcn.0040b170
add esp, 8
jmp 0x410a9b
push 0xb
lea edx, [esp + 0x12c]
push str.icy_tchfrq:
push edx
call fcn.004121c0
add esp, 0xc
test eax, eax
jne 0x410a9b
mov cl, byte [esp + 0x133]
lea eax, [esp + 0x133]
cmp cl, bl
jne 0x410c35
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
je 0x410c2d
push eax
call fcn.00411639
add esp, 4
cmp eax, 1
mov dword [0x528e20], eax
jge 0x410a9b
mov dword [0x528e20], 1
jmp 0x410a9b
mov eax, dword [esp + 0x10]
pop ebx
test eax, eax
jne 0x410c85
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x410c73
push str._yp_add__yp.shoutcast.com_gave_invalid_id_n
jmp 0x410c7d
mov dword [0x52a924], eax
push str._yp_add__yp.shoutcast.com_added_me_successfully_n
call fcn.0040b170
add esp, 4
push ebp
call fcn.0040dd10
add esp, 4
pop edi
pop esi
pop ebp
add esp, 0x2518
ret