Function at 0x476396
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.00475923
mov ebx, eax
test ebx, ebx
jne 0x4763b7
xor eax, eax
jmp 0x476be9
mov dword [ebx + 0x74], 0xb4
cmp si, 0x20
jne 0x4763d6
push 8
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
jmp 0x476be9
shr esi, 0x10
test si, 0xffff
je 0x4763f2
push 7
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
jmp 0x476be9
push 0x3e7
push 0
push 0x5741cc
call fcn.00539438
add esp, 0xc
push 0
push 0x3e6
push 0x5741cc
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_recv
mov edi, eax
cmp edi, 0xffffffff
jne 0x476433
push 7
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
jmp 0x476be9
test edi, edi
jl 0x47643e
mov byte [edi + 0x5741cc], 0
test edi, edi
jne 0x476454
push 8
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
jmp 0x476be9
push 0
push 0
push dword [0x55b3c8]
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_WSAAsyncSelect
cmp dword [ebx + 0x78], 2
jne 0x4765e3
mov eax, dword [ebx + 0x6c]
cmp eax, 2
je 0x476481
cmp eax, 3
jne 0x4765cd
xor edi, edi
mov eax, 0x5741cc
jmp 0x47648b
inc eax
cmp byte [eax], 0x20
je 0x47648a
push 0x20
push eax
call fcn.00539518
add esp, 8
test eax, eax
je 0x4764b5
jmp 0x4764a2
inc eax
cmp byte [eax], 0x20
je 0x4764a1
cmp byte [eax], 0
je 0x4764b5
push eax
call fcn.00542dbc
pop ecx
mov edi, eax
cmp dword [ebx + 0x6c], 2
jne 0x4764e7
cmp edi, 0x191
jne 0x4764e7
push 5
push ebx
call fcn.00475fae
test eax, eax
je 0x4764e0
mov dword [ebx + 0x6c], 3
mov eax, 1
jmp 0x476be9
xor eax, eax
jmp 0x476be9
cmp edi, 0xc8
jne 0x4765cd
cmp dword [ebx + 0x70], 0
jne 0x476526
cmp dword [ebx + 0x68], 0
jne 0x476526
mov edx, dword [ebx + 0x7c]
mov dword [0x55bb40], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push 0
call fcn.0051bb20
mov eax, 1
jmp 0x476be9
mov esi, dword [0x54cbf4]
test esi, esi
je 0x476571
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x476567
cmp dword [ebx + 0x68], 0
jne 0x476571
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push esi
call fcn.004284c8
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x476530
mov esi, dword [0x559644]
test esi, esi
je 0x4765cd
mov eax, dword [esi + 0x340]
cmp eax, dword [ebx + 0x70]
jne 0x4765c3
cmp dword [ebx + 0x68], 0
jne 0x4765c3
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x3b0], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
cmp dword [esi + 0x374], 0
je 0x4765b3
push esi
call fcn.004f596e
jmp 0x4765b9
push esi
call fcn.004f5ff6
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x3b4]
test esi, esi
jne 0x47657b
mov edi, 0x5b
push edi
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
jmp 0x476be9
cmp dword [ebx + 0x78], 0
jne 0x47672b
xor edi, edi
cmp dword [ebx + 0x6c], 2
jne 0x47671a
mov al, byte [0x5741cd]
sub al, 0x5a
je 0x47661f
dec al
je 0x476700
dec al
je 0x476707
dec al
je 0x47670e
jmp 0x476715
cmp dword [ebx + 0x70], 0
jne 0x476652
cmp dword [ebx + 0x68], 0
jne 0x476652
mov edx, dword [ebx + 0x7c]
mov dword [0x55bb40], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push 0
call fcn.0051bb20
mov eax, 1
jmp 0x476be9
mov esi, dword [0x54cbf4]
test esi, esi
je 0x47669d
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x476693
cmp dword [ebx + 0x68], 0
jne 0x47669d
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push esi
call fcn.004284c8
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x47665c
mov esi, dword [0x559644]
test esi, esi
je 0x4766f9
mov eax, dword [esi + 0x340]
cmp eax, dword [ebx + 0x70]
jne 0x4766ef
cmp dword [ebx + 0x68], 0
jne 0x4766ef
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x3b0], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
cmp dword [esi + 0x374], 0
je 0x4766df
push esi
call fcn.004f596e
jmp 0x4766e5
push esi
call fcn.004f5ff6
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x3b4]
test esi, esi
jne 0x4766a7
mov edi, 0x5b
jmp 0x47671a
mov edi, 0x5b
jmp 0x47671a
mov edi, 0x5c
jmp 0x47671a
mov edi, 0x5d
jmp 0x47671a
mov edi, 0x5e
push edi
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
jmp 0x476be9
xor edi, edi
mov eax, dword [ebx + 0x6c]
sub eax, 2
je 0x47674b
dec eax
je 0x4767ae
dec eax
je 0x4767e5
dec eax
je 0x476af6
jmp 0x476bdd
mov dl, byte [0x5741cd]
sub dl, 1
jb 0x47675c
dec dl
je 0x476780
jmp 0x4767a4
push 4
push ebx
call fcn.00475fae
test eax, eax
je 0x476779
mov dword [ebx + 0x6c], 4
mov eax, 1
jmp 0x476be9
xor eax, eax
jmp 0x476be9
push 3
push ebx
call fcn.00475fae
test eax, eax
je 0x47679d
mov dword [ebx + 0x6c], 3
mov eax, 1
jmp 0x476be9
xor eax, eax
jmp 0x476be9
mov edi, 0x5f
jmp 0x476bdd
cmp byte [0x5741cd], 0
jne 0x4767db
push 4
push ebx
call fcn.00475fae
test eax, eax
je 0x4767d4
mov dword [ebx + 0x6c], 4
mov eax, 1
jmp 0x476be9
xor eax, eax
jmp 0x476be9
mov edi, 0x5b
jmp 0x476bdd
mov al, byte [0x5741cd]
sub al, 1
jb 0x47680b
sub al, 2
je 0x476ace
dec al
je 0x476ad8
dec al
je 0x476ae2
jmp 0x476aec
cmp dword [ebx + 0x70], 0
jne 0x47683e
cmp dword [ebx + 0x68], 0
jne 0x47683e
mov edx, dword [ebx + 0x7c]
mov dword [0x55bb40], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push 0
call fcn.0051bb20
mov eax, 1
jmp 0x476be9
mov esi, dword [0x54cbf4]
test esi, esi
je 0x476973
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x476965
cmp dword [ebx + 0x68], 0
jne 0x476887
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push esi
call fcn.004284c8
mov eax, 1
jmp 0x476be9
cmp dword [ebx + 0x68], 1
jne 0x476973
cmp byte [0x5741cf], 1
jne 0x476973
push 0
call fcn.00548d28
pop ecx
mov dword [esi + 0x874], eax
mov dword [ebx + 0x6c], 5
xor edx, edx
mov dl, byte [0x5741d3]
push edx
xor ecx, ecx
mov cl, byte [0x5741d2]
push ecx
xor eax, eax
mov al, byte [0x5741d1]
push eax
xor edx, edx
mov dl, byte [0x5741d0]
push edx
push 0x5517df
lea ecx, [ebp - 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0x18
xor eax, eax
mov al, byte [0x5741d4]
shl eax, 8
xor edx, edx
mov dl, byte [0x5741d5]
add ax, dx
mov word [esi + 0x520], ax
push 0x21
push 0x432
push dword [0x55b3c8]
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 0x5517ec
push 0x5741cc
call sub.USER32.dll_wsprintfA
add esp, 0x18
push 0
push 0x5741cc
call fcn.0051b8a5
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x47684c
mov esi, dword [0x559644]
test esi, esi
je 0x4769cf
mov eax, dword [esi + 0x340]
cmp eax, dword [ebx + 0x70]
jne 0x4769c5
cmp dword [ebx + 0x68], 0
jne 0x4769c5
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x3b0], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
cmp dword [esi + 0x374], 0
je 0x4769b5
push esi
call fcn.004f596e
jmp 0x4769bb
push esi
call fcn.004f5ff6
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x3b4]
test esi, esi
jne 0x47697d
mov esi, dword [0x551b48]
test esi, esi
je 0x476bdd
mov eax, dword [esi + 0x340]
cmp eax, dword [ebx + 0x70]
jne 0x476abb
cmp dword [ebx + 0x68], 1
jne 0x476abb
cmp byte [0x5741cf], 1
jne 0x476abb
push 0
call fcn.00548d28
pop ecx
mov dword [esi + 0x394], eax
mov dword [ebx + 0x6c], 5
xor edx, edx
mov dl, byte [0x5741d3]
push edx
xor ecx, ecx
mov cl, byte [0x5741d2]
push ecx
xor eax, eax
mov al, byte [0x5741d1]
push eax
xor edx, edx
mov dl, byte [0x5741d0]
push edx
push 0x551814
lea ecx, [ebp - 0x14]
push ecx
call sub.USER32.dll_wsprintfA
add esp, 0x18
xor eax, eax
mov al, byte [0x5741d4]
shl eax, 8
xor edx, edx
mov dl, byte [0x5741d5]
add ax, dx
mov word [esi + 0x34c], ax
push 0x21
push 0x432
push dword [0x55b3c8]
push dword [ebx + 0x7c]
call sub.WSOCK32.dll_WSAAsyncSelect
push dword [esi + 0x340]
push dword [esi + 0x35c]
mov cx, word [esi + 0x34c]
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.004f5c68
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x39c]
test esi, esi
jne 0x4769dd
jmp 0x476bdd
mov edi, 0x60
jmp 0x476bdd
mov edi, 0x61
jmp 0x476bdd
mov edi, 0x62
jmp 0x476bdd
mov edi, 0x5b
jmp 0x476bdd
mov al, byte [0x5741cd]
sub al, 1
jb 0x476b1c
sub al, 2
je 0x476bc3
dec al
je 0x476bca
dec al
je 0x476bd1
jmp 0x476bd8
mov esi, dword [0x54cbf4]
test esi, esi
je 0x476b70
mov eax, dword [esi + 0x528]
cmp eax, dword [ebx + 0x70]
jne 0x476b66
cmp dword [ebx + 0x68], 1
jne 0x476b66
cmp byte [0x5741cf], 1
jne 0x476b66
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x878], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push esi
call fcn.004282d9
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x87c]
test esi, esi
jne 0x476b26
mov esi, dword [0x551b48]
test esi, esi
je 0x476bdd
mov eax, dword [esi + 0x340]
cmp eax, dword [ebx + 0x70]
jne 0x476bb7
cmp dword [ebx + 0x68], 1
jne 0x476bb7
cmp byte [0x5741cf], 1
jne 0x476bb7
mov edx, dword [ebx + 0x7c]
mov dword [esi + 0x398], edx
mov dword [ebx + 0x7c], 0xffffffff
push ebx
call fcn.0047589d
push esi
call fcn.00479b17
mov eax, 1
jmp 0x476be9
mov esi, dword [esi + 0x39c]
test esi, esi
jne 0x476b7a
jmp 0x476bdd
mov edi, 0x60
jmp 0x476bdd
mov edi, 0x61
jmp 0x476bdd
mov edi, 0x62
jmp 0x476bdd
mov edi, 0x5b
push edi
push dword [ebx + 0x70]
push ebx
call fcn.004759d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8