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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0046667f
mov ebx, eax
test ebx, ebx
jne 0x467068
xor eax, eax
jmp 0x467860
mov dword [ebx + 0x74], 0xb4
cmp si, 0x20
jne 0x467087
push 8
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
jmp 0x467860
shr esi, 0x10
test si, 0xffff
je 0x4670a3
push 7
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
jmp 0x467860
push 0x104
push 0
push 0x54d69c
call fcn.0051825c
add esp, 0xc
push 0
push 0x103
push 0x54d69c
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_recv
mov edi, eax
cmp edi, 0xffffffff
jne 0x4670e4
push 7
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
jmp 0x467860
test edi, edi
jl 0x4670ef
mov byte [edi + 0x54d69c], 0
test edi, edi
jne 0x467105
push 8
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
jmp 0x467860
push 0
push 0
push dword [0x537420]
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_WSAAsyncSelect
cmp dword [ebx + 0x78], 2
jne 0x46725a
cmp dword [ebx + 0x6c], 2
jne 0x467244
xor edi, edi
mov eax, 0x54d69c
jmp 0x467135
inc eax
cmp byte [eax], 0x20
je 0x467134
push 0x20
push eax
call fcn.0051833c
add esp, 8
test eax, eax
je 0x46715f
jmp 0x46714c
inc eax
cmp byte [eax], 0x20
je 0x46714b
cmp byte [eax], 0
je 0x46715f
push eax
call fcn.0052175c
pop ecx
mov edi, eax
cmp edi, 0xc8
jne 0x467244
cmp dword [ebx + 0x70], 0
jne 0x46719d
cmp dword [ebx + 0x68], 0
jne 0x46719d
mov eax, dword [ebx + 0x7c]
mov dword [0x537b60], eax
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push 0
call fcn.004fec55
mov eax, 1
jmp 0x467860
mov esi, dword [0x529f18]
test esi, esi
je 0x4671e8
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x4671de
cmp dword [ebx + 0x68], 0
jne 0x4671e8
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push esi
call fcn.004201cd
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x4671a7
mov esi, dword [0x5357ac]
test esi, esi
je 0x467244
mov eax, dword [esi + 0x408]
cmp eax, dword [ebx + 0x70]
jne 0x46723a
cmp dword [ebx + 0x68], 0
jne 0x46723a
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x46c], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
cmp dword [esi + 0x440], 0
je 0x46722a
push esi
call fcn.004dc3d4
jmp 0x467230
push esi
call fcn.004dca5a
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x470]
test esi, esi
jne 0x4671f2
mov edi, 0x5b
push edi
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
jmp 0x467860
cmp dword [ebx + 0x78], 0
jne 0x4673a2
xor edi, edi
cmp dword [ebx + 0x6c], 2
jne 0x467391
mov al, byte [0x54d69d]
sub al, 0x5a
je 0x467296
dec al
je 0x467377
dec al
je 0x46737e
dec al
je 0x467385
jmp 0x46738c
cmp dword [ebx + 0x70], 0
jne 0x4672c9
cmp dword [ebx + 0x68], 0
jne 0x4672c9
mov edx, dword [ebx + 0x7c]
mov dword [0x537b60], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push 0
call fcn.004fec55
mov eax, 1
jmp 0x467860
mov esi, dword [0x529f18]
test esi, esi
je 0x467314
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x46730a
cmp dword [ebx + 0x68], 0
jne 0x467314
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push esi
call fcn.004201cd
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x4672d3
mov esi, dword [0x5357ac]
test esi, esi
je 0x467370
mov eax, dword [esi + 0x408]
cmp eax, dword [ebx + 0x70]
jne 0x467366
cmp dword [ebx + 0x68], 0
jne 0x467366
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x46c], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
cmp dword [esi + 0x440], 0
je 0x467356
push esi
call fcn.004dc3d4
jmp 0x46735c
push esi
call fcn.004dca5a
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x470]
test esi, esi
jne 0x46731e
mov edi, 0x5b
jmp 0x467391
mov edi, 0x5b
jmp 0x467391
mov edi, 0x5c
jmp 0x467391
mov edi, 0x5d
jmp 0x467391
mov edi, 0x5e
push edi
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
jmp 0x467860
xor edi, edi
mov eax, dword [ebx + 0x6c]
sub eax, 2
je 0x4673c2
dec eax
je 0x467425
dec eax
je 0x46745c
dec eax
je 0x46776d
jmp 0x467854
mov dl, byte [0x54d69d]
sub dl, 1
jb 0x4673d3
dec dl
je 0x4673f7
jmp 0x46741b
push 4
push ebx
call fcn.00466d0a
test eax, eax
je 0x4673f0
mov dword [ebx + 0x6c], 4
mov eax, 1
jmp 0x467860
xor eax, eax
jmp 0x467860
push 3
push ebx
call fcn.00466d0a
test eax, eax
je 0x467414
mov dword [ebx + 0x6c], 3
mov eax, 1
jmp 0x467860
xor eax, eax
jmp 0x467860
mov edi, 0x5f
jmp 0x467854
cmp byte [0x54d69d], 0
jne 0x467452
push 4
push ebx
call fcn.00466d0a
test eax, eax
je 0x46744b
mov dword [ebx + 0x6c], 4
mov eax, 1
jmp 0x467860
xor eax, eax
jmp 0x467860
mov edi, 0x5b
jmp 0x467854
mov al, byte [0x54d69d]
sub al, 1
jb 0x467482
sub al, 2
je 0x467745
dec al
je 0x46774f
dec al
je 0x467759
jmp 0x467763
cmp dword [ebx + 0x70], 0
jne 0x4674b5
cmp dword [ebx + 0x68], 0
jne 0x4674b5
mov edx, dword [ebx + 0x7c]
mov dword [0x537b60], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push 0
call fcn.004fec55
mov eax, 1
jmp 0x467860
mov esi, dword [0x529f18]
test esi, esi
je 0x4675ea
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x4675dc
cmp dword [ebx + 0x68], 0
jne 0x4674fe
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push esi
call fcn.004201cd
mov eax, 1
jmp 0x467860
cmp dword [ebx + 0x68], 1
jne 0x4675ea
cmp byte [0x54d69f], 1
jne 0x4675ea
push 0
call fcn.00526bc8
pop ecx
mov dword [esi + 0x874], eax
mov dword [ebx + 0x6c], 5
xor edx, edx
mov dl, byte [0x54d6a3]
push edx
xor ecx, ecx
mov cl, byte [0x54d6a2]
push ecx
xor eax, eax
mov al, byte [0x54d6a1]
push eax
xor edx, edx
mov dl, byte [0x54d6a0]
push edx
push 0x52e50a
lea ecx, [ebp - 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0x18
xor eax, eax
mov al, byte [0x54d6a4]
shl eax, 8
xor edx, edx
mov dl, byte [0x54d6a5]
add ax, dx
mov word [esi + 0x520], ax
push 0x21
push 0x432
push dword [0x537420]
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_WSAAsyncSelect
push dword [esi + 0x52c]
movzx ecx, word [esi + 0x520]
push ecx
lea eax, [ebp - 0x14]
push eax
call sub.WSOCK32.dll_inet_addr
push eax
call sub.WSOCK32.dll_htonl
push eax
add esi, 0x3f0
push esi
push 0x52e517
push 0x54d69c
call sub.USER32.dll_wsprintfA
add esp, 0x18
push 0
push 0x54d69c
call fcn.004fe9da
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x4674c3
mov esi, dword [0x5357ac]
test esi, esi
je 0x467646
mov eax, dword [esi + 0x408]
cmp eax, dword [ebx + 0x70]
jne 0x46763c
cmp dword [ebx + 0x68], 0
jne 0x46763c
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x46c], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
cmp dword [esi + 0x440], 0
je 0x46762c
push esi
call fcn.004dc3d4
jmp 0x467632
push esi
call fcn.004dca5a
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x470]
test esi, esi
jne 0x4675f4
mov esi, dword [0x52e838]
test esi, esi
je 0x467854
mov eax, dword [esi + 0x408]
cmp eax, dword [ebx + 0x70]
jne 0x467732
cmp dword [ebx + 0x68], 1
jne 0x467732
cmp byte [0x54d69f], 1
jne 0x467732
push 0
call fcn.00526bc8
pop ecx
mov dword [esi + 0x450], eax
mov dword [ebx + 0x6c], 5
xor edx, edx
mov dl, byte [0x54d6a3]
push edx
xor ecx, ecx
mov cl, byte [0x54d6a2]
push ecx
xor eax, eax
mov al, byte [0x54d6a1]
push eax
xor edx, edx
mov dl, byte [0x54d6a0]
push edx
push 0x52e53f
lea ecx, [ebp - 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0x18
xor eax, eax
mov al, byte [0x54d6a4]
shl eax, 8
xor edx, edx
mov dl, byte [0x54d6a5]
add ax, dx
mov word [esi + 0x410], ax
push 0x21
push 0x432
push dword [0x537420]
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_WSAAsyncSelect
push dword [esi + 0x408]
push dword [esi + 0x420]
mov cx, word [esi + 0x410]
push ecx
lea eax, [ebp - 0x14]
push eax
call sub.WSOCK32.dll_inet_addr
push eax
call sub.WSOCK32.dll_htonl
push eax
lea edx, [esi + 0x234]
push edx
add esi, 4
push esi
call fcn.004dc6cc
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x458]
test esi, esi
jne 0x467654
jmp 0x467854
mov edi, 0x60
jmp 0x467854
mov edi, 0x61
jmp 0x467854
mov edi, 0x62
jmp 0x467854
mov edi, 0x5b
jmp 0x467854
mov al, byte [0x54d69d]
sub al, 1
jb 0x467793
sub al, 2
je 0x46783a
dec al
je 0x467841
dec al
je 0x467848
jmp 0x46784f
mov esi, dword [0x529f18]
test esi, esi
je 0x4677e7
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x4677dd
cmp dword [ebx + 0x68], 1
jne 0x4677dd
cmp byte [0x54d69f], 1
jne 0x4677dd
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push esi
call fcn.0041ffde
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x46779d
mov esi, dword [0x52e838]
test esi, esi
je 0x467854
mov eax, dword [esi + 0x408]
cmp eax, dword [ebx + 0x70]
jne 0x46782e
cmp dword [ebx + 0x68], 1
jne 0x46782e
cmp byte [0x54d69f], 1
jne 0x46782e
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x454], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.004665f9
push esi
call fcn.0046a161
mov eax, 1
jmp 0x467860
mov esi, dword [esi + 0x458]
test esi, esi
jne 0x4677f1
jmp 0x467854
mov edi, 0x60
jmp 0x467854
mov edi, 0x61
jmp 0x467854
mov edi, 0x62
jmp 0x467854
mov edi, 0x5b
push edi
push dword [ebx + 0x70]
push ebx
call fcn.0046672c
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8