Function at 0x40e430
Capabilities:
Receive data
Receive data on socket

Disassembly:
sub esp, 0x108
mov eax, dword [0x424650]
mov edx, dword [0x428524]
push ebx
sub eax, edx
push ebp
xor ebx, ebx
push esi
cmp eax, 0xa
push edi
mov byte [esp + 0x12], bl
jle 0x40e460
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x108
ret
mov ebp, dword [0x4281a8]
mov edx, dword [0x4281c0]
mov edi, 1
push ebx
lea ecx, [esp + 0x16]
push edi
push ecx
push edx
call sub.WSOCK32.dll_recv
cmp eax, edi
jge 0x40e48f
cmp eax, 0xffffffff
je 0x40e4f4
cmp eax, ebx
je 0x40e938
mov eax, dword [0x424650]
mov edx, dword [0x428508]
mov dword [0x428524], eax
mov al, byte [esp + 0x12]
inc edx
cmp al, 0xd
mov dword [0x428508], edx
je 0x40e4b9
cmp al, 0xa
je 0x40e4b9
mov byte [ebp + 0x428300], al
inc ebp
cmp ebp, 0xfa
jg 0x40e938
cmp al, 0xa
jne 0x40e466
cmp ebp, ebx
mov byte [ebp + 0x428300], bl
mov dword [0x4281a8], ebx
je 0x40e51f
call fcn.0040eae0
cmp eax, 0xffffffff
jne 0x40e946
pop edi
pop esi
pop ebp
or eax, eax
pop ebx
add esp, 0x108
ret
call sub.WSOCK32.dll_WSAGetLastError
mov esi, eax
call fcn.0040dea0
cmp esi, 0x2733
jne 0x40e938
pop edi
mov dword [0x4281a8], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x108
ret
cmp dword [0x4281ac], ebx
je 0x40e938
mov eax, dword [0x4282e0]
mov ecx, dword [0x529244]
cmp eax, ebx
mov dword [0x4281b8], 4
mov dword [0x52a920], ecx
jne 0x40e55c
push str.audio_mpeg
push 0x41b2d0
call fcn.00411644
add esp, 8
push str.always
push str.default
call fcn.00418060
add esp, 8
test eax, eax
jne 0x40e578
mov dword [0x529244], edi
push str.never
push str.default
call fcn.00418060
add esp, 8
test eax, eax
jne 0x40e594
mov dword [0x529244], ebx
push 0x529260
push 0x52a520
push str._source__icy_name:_s___icy_genre:_s_n
call fcn.0040b170
mov edx, dword [0x428888]
mov eax, dword [0x529244]
push 0x529ea0
push edx
push eax
push str._source__icy_pub:_d___icy_br:_d___icy_url:_s_n
call fcn.0040b170
push 0x428a20
push 0x528e40
push 0x529660
push str._source__icy_irc:_s___icy_icq:_s___icy_aim:_s_n
call fcn.0040b170
mov eax, dword [0x428888]
mov ecx, dword [0x4242f8]
add esp, 0x2c
cmp ecx, eax
je 0x40e6bc
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [0x4242f8], eax
cmp byte [0x4240e4], bl
je 0x40e65d
cmp dword [0x4242f0], ebx
je 0x40e65d
push 0x420fe4
push 0x4240e4
call fcn.004116d0
add esp, 8
test eax, eax
je 0x40e65d
mov eax, dword [0x42461c]
mov dword [0x4242fc], edi
cmp eax, ebx
je 0x40e642
push 0xc8
call esi
cmp dword [0x42461c], ebx
jne 0x40e633
mov ecx, dword [0x428884]
push ecx
call fcn.00411947
add esp, 4
mov dword [0x4242f0], ebx
mov dword [0x4242fc], ebx
cmp byte [0x4241e8], bl
je 0x40e6bc
cmp dword [0x4242f4], ebx
je 0x40e6bc
push 0x420fe4
push 0x4241e8
call fcn.004116d0
add esp, 8
test eax, eax
je 0x40e6bc
mov eax, dword [0x42461c]
mov dword [0x4242fc], edi
cmp eax, ebx
je 0x40e6a1
push 0xc8
call esi
cmp dword [0x42461c], ebx
jne 0x40e692
mov edx, dword [0x52a92c]
push edx
call fcn.00411947
add esp, 4
mov dword [0x4242f4], ebx
mov dword [0x4242fc], ebx
cmp dword [0x4242f0], ebx
jne 0x40e7de
cmp byte [0x4240e4], bl
je 0x40e7de
push 0x420fe4
push 0x4240e4
call fcn.004116d0
add esp, 8
test eax, eax
je 0x40e704
mov eax, dword [0x428888]
push eax
push 0x4240e4
push 0x529a80
call fcn.00411644
add esp, 0xc
jmp 0x40e729
mov edi, 0x4240e4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x529a80
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x41a4dc
push 0x529a80
call fcn.004118a7
add esp, 8
cmp eax, ebx
mov dword [0x52a2a4], eax
jne 0x40e75b
push 0x529a80
push str._client:__s__Error_opening_intro_file__n
call fcn.0040b170
add esp, 8
jmp 0x40e7de
push 2
push ebx
push eax
call fcn.00411b8a
mov eax, dword [0x52a2a4]
push eax
call fcn.00411a07
mov ecx, dword [0x52a2a4]
push ebx
mov esi, eax
push ebx
push ecx
mov dword [0x4242f0], esi
call fcn.00411b8a
lea edx, [esi + 1]
push edx
push 1
call fcn.004118ba
add esp, 0x24
cmp eax, ebx
mov dword [0x428884], eax
jne 0x40e7b1
push str._source__Unable_to_alloc_memory_for_Intro_Buffer_n
call fcn.0040b170
add esp, 4
mov dword [0x4242f0], ebx
jmp 0x40e7cf
mov ecx, dword [0x52a2a4]
push ecx
push esi
push 1
push eax
call fcn.00411da9
push esi
push str._source__Read__d_bytes_from_Intro_File_n
call fcn.0040b170
add esp, 0x18
mov edx, dword [0x52a2a4]
push edx
call fcn.00411750
add esp, 4
cmp dword [0x4242f4], ebx
jne 0x40e91b
cmp byte [0x4241e8], bl
je 0x40e91b
mov al, byte [0x423790]
mov ecx, 0x40
mov byte [esp + 0x14], al
xor eax, eax
lea edi, [esp + 0x15]
push 0x420fe4
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x4241e8
stosb byte es:[edi], al
call fcn.004116d0
add esp, 8
test eax, eax
je 0x40e840
mov ecx, dword [0x428888]
lea edx, [esp + 0x14]
push ecx
push 0x4241e8
push edx
call fcn.00411644
add esp, 0xc
jmp 0x40e866
mov edi, 0x4241e8
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x14]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
push 0x41a4dc
push ecx
call fcn.004118a7
add esp, 8
cmp eax, ebx
mov dword [0x4289fc], eax
jne 0x40e898
lea edx, [esp + 0x14]
push edx
push str._dest:__s__Error_opening_backup_file___s__n
call fcn.0040b170
add esp, 8
jmp 0x40e91b
push 2
push ebx
push eax
call fcn.00411b8a
mov eax, dword [0x4289fc]
push eax
call fcn.00411a07
mov ecx, dword [0x4289fc]
push ebx
mov esi, eax
push ebx
push ecx
mov dword [0x4242f4], esi
call fcn.00411b8a
lea edx, [esi + 1]
push edx
push 1
call fcn.004118ba
add esp, 0x24
cmp eax, ebx
mov dword [0x52a92c], eax
jne 0x40e8ee
push str._source__Unable_to_alloc_memory_for_Backup_Buffer_n
call fcn.0040b170
add esp, 4
mov dword [0x4242f4], ebx
jmp 0x40e90c
mov ecx, dword [0x4289fc]
push ecx
push esi
push 1
push eax
call fcn.00411da9
push esi
push str._source__Read__d_bytes_from_Backup_File_n
call fcn.0040b170
add esp, 0x18
mov edx, dword [0x4289fc]
push edx
call fcn.00411750
add esp, 4
mov eax, dword [0x424650]
mov dword [0x52a3e4], 1
mov dword [0x424638], eax
mov eax, dword [0x4281ac]
cmp eax, ebx
jne 0x40e946
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x108
ret
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x108
ret