Function at 0x4d481f
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffffd4
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov edx, eax
shr edx, 0x10
test dx, 0xffff
jne 0x4d5486
cmp eax, 0x20
je 0x4d5486
cmp dword [0x56bab0], 0xffffffff
je 0x4d5486
call fcn.00412691
mov edi, eax
test edi, edi
je 0x4d5486
push 0
push 0x103
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_recv
cmp eax, 0xffffffff
je 0x4d5486
cmp eax, 1
jle 0x4d5486
mov byte [eax + 0x584273], 0
push 0
push 0
push dword [0x56f018]
push dword [0x56bab0]
call sub.WSOCK32.dll_WSAAsyncSelect
xor eax, eax
mov dword [0x56ba94], eax
push 0x584273
call fcn.004d46f8
test eax, eax
je 0x4d5486
mov ebx, 0x584273
jmp 0x4d48cd
inc ebx
cmp byte [ebx], 0x20
je 0x4d48cc
cmp byte [ebx], 0
je 0x4d5486
push 0x20
push ebx
call fcn.0054e1ec
add esp, 8
mov esi, eax
test esi, esi
je 0x4d5486
mov byte [esi], 0
mov dword [ebp - 8], ebx
lea ebx, [esi + 1]
jmp 0x4d48fc
inc ebx
cmp byte [ebx], 0x20
je 0x4d48fb
cmp byte [ebx], 0
je 0x4d5486
push 0x20
push ebx
call fcn.0054e1ec
add esp, 8
mov esi, eax
test esi, esi
je 0x4d492e
mov byte [esi], 0
inc esi
jmp 0x4d4922
inc esi
cmp byte [esi], 0x20
je 0x4d4921
cmp byte [esi], 0
jne 0x4d492e
xor esi, esi
mov dword [ebp - 0xc], ebx
push dword [ebp - 0xc]
call fcn.004d473f
test eax, eax
je 0x4d5486
push dword [ebp - 8]
call fcn.005570e0
pop ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 0x64
je 0x4d4971
sub eax, 0xa
je 0x4d4971
sub eax, 0xa
je 0x4d4d75
sub eax, 0xa
je 0x4d50d0
jmp 0x4d5486
cmp dword [0x563c1c], 2
je 0x4d4998
cmp dword [0x56ba9c], 0
jne 0x4d4989
cmp dword [ebp - 0x10], 0x64
je 0x4d4998
cmp dword [0x56baa0], 0
jne 0x4d49cf
cmp dword [ebp - 0x10], 0x6e
jne 0x4d49cf
mov esi, 0x56bafc
mov edi, 0x584273
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
push 0x584273
call fcn.0054e28c
pop ecx
push eax
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_send
jmp 0x4d5486
cmp dword [ebp - 0x10], 0x64
jne 0x4d4a34
test byte [0x56a69c], 0x20
jne 0x4d4998
xor edx, edx
mov dword [ebp - 0x14], edx
mov ebx, dword [0x561210]
test ebx, ebx
je 0x4d4a89
cmp dword [ebx + 0x520], 0
je 0x4d4a28
cmp dword [ebx + 0x540], 0
jne 0x4d4a28
push 0x584377
lea eax, [ebx + 0x4b8]
push eax
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4d4a28
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jg 0x4d4998
mov ebx, dword [ebx + 0x88c]
test ebx, ebx
jne 0x4d49f1
jmp 0x4d4a89
cmp dword [ebp - 0x10], 0x6e
jne 0x4d4a89
test byte [0x56a69c], 0x10
jne 0x4d4998
mov ebx, dword [0x561210]
test ebx, ebx
je 0x4d4a89
cmp dword [ebx + 0x520], 0
je 0x4d4a7f
cmp dword [ebx + 0x540], 0
je 0x4d4a7f
push 0x584377
lea eax, [ebx + 0x4b8]
push eax
call fcn.0054e450
add esp, 8
test eax, eax
je 0x4d4998
mov ebx, dword [ebx + 0x88c]
test ebx, ebx
jne 0x4d4a51
cmp dword [0x5681d4], 0
je 0x4d4b06
push 0x584377
push dword [ebp - 0xc]
push 0x56bb0e
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x583e8c
call fcn.00556250
pop ecx
push 0
push 0
push 0x56bb18
push 0x583e8c
call fcn.004ab76b
test eax, eax
je 0x4d4b06
mov esi, 0x56bb1d
mov edi, 0x584273
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0x584273
call fcn.0054e28c
pop ecx
push eax
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_send
jmp 0x4d5486
cmp dword [ebp - 0x10], 0x6e
jne 0x4d4b96
cmp byte [0x57fac8], 0
je 0x4d4998
push 2
push 0x57fac8
call fcn.0042cbc2
test eax, eax
je 0x4d4998
cmp dword [0x564194], 0
je 0x4d4b96
push dword [ebp - 0xc]
push 0x64
push 0x57e414
call fcn.0042e5e3
push edi
mov esi, 0x579f7a
mov edi, 0x57fac8
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
push 0
push 0x46d2a0
push 0x334
push dword [0x56f018]
call fcn.0046a7c4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x4d4998
call fcn.004388c8
mov ebx, eax
test ebx, ebx
je 0x4d4998
push dword [ebp - 0xc]
push 0x64
lea eax, [ebx + 0x3f0]
push eax
call fcn.0042e5e3
push 0x584377
push 0x64
lea esi, [ebx + 0x4b8]
push esi
call fcn.0042e5e3
push esi
push 0x64
lea eax, [ebx + 0x454]
push eax
call fcn.0042e5e3
mov dx, word [0x56baa8]
mov word [ebx + 0x51c], dx
mov dword [ebx + 0x520], 5
mov dword [ebx + 0x534], 3
mov ecx, dword [ebp - 0x10]
mov dword [ebx + 0x538], ecx
mov dword [ebx + 0x888], edi
mov eax, dword [0x563c50]
mov dword [ebx + 0x868], eax
dec eax
jge 0x4d4c23
mov dword [ebx + 0x868], 1
jmp 0x4d4c36
cmp dword [ebx + 0x868], 0x14
jle 0x4d4c36
mov dword [ebx + 0x868], 0x14
push 0x57fac8
push 0x104
lea esi, [ebx + 0x544]
push esi
call fcn.0042e5e3
push esi
push 0x104
lea eax, [ebx + 0x648]
push eax
call fcn.0042e5e3
push 0x57fbcc
push 0x104
lea edx, [ebx + 0x74c]
push edx
call fcn.0042e5e3
cmp dword [ebp - 0x10], 0x6e
jne 0x4d4c90
mov dword [ebx + 0x528], 1
mov dword [ebx + 0x540], 1
jmp 0x4d4ca0
xor ecx, ecx
mov dword [ebx + 0x528], ecx
xor eax, eax
mov dword [ebx + 0x540], eax
cmp dword [0x56cdd8], 0
je 0x4d4cf2
push 0x7f8
push 0
lea edx, [ebp - 0x810]
push edx
call fcn.0054e10c
add esp, 0xc
mov dword [ebp - 0x808], ebx
lea ecx, [ebp - 0x810]
push ecx
push 0
push 0
push 0xf
push 0x56bb2c
push 0
push 0
push edi
call fcn.004fecf0
test eax, eax
jne 0x4d4cf2
push 0
push ebx
call fcn.00438a28
jmp 0x4d4998
mov eax, dword [0x56bab0]
mov dword [ebx + 0x884], eax
mov dword [0x56bab0], 0xffffffff
push eax
call fcn.005279f5
cmp dword [ebp - 0x10], 0x6e
jne 0x4d4d1b
push ebx
call fcn.0043a031
jmp 0x4d4d69
cmp dword [0x56c2ec], 0
je 0x4d4d55
cmp dword [0x56bef4], 1
jne 0x4d4d3a
push dword [0x56c2f8]
call fcn.0042c69a
jmp 0x4d4d55
cmp dword [0x56bef4], 2
jne 0x4d4d55
push edi
push 1
push 0
push 0
call fcn.00477504
push eax
call fcn.0050d13a
push 0
push 0
push 0x8020
push dword [0x56f018]
call sub.USER32.dll_PostMessageA
push 1
call fcn.004d44b5
jmp 0x4d548d
test esi, esi
je 0x4d5486
mov ebx, esi
push 0x20
push ebx
call fcn.0054e1ec
add esp, 8
mov esi, eax
test esi, esi
je 0x4d5486
mov byte [esi], 0
mov dword [ebp - 4], ebx
lea ebx, [esi + 1]
jmp 0x4d4da0
inc ebx
cmp byte [ebx], 0x20
je 0x4d4d9f
cmp byte [ebx], 0
je 0x4d5486
mov esi, ebx
push edi
push esi
call fcn.004d47ba
cmp dword [0x56ba98], 0
je 0x4d4dc9
cmp dword [0x563c14], 2
jne 0x4d4e00
mov esi, 0x56bb37
mov edi, 0x584273
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
push 0x584273
call fcn.0054e28c
pop ecx
push eax
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_send
jmp 0x4d5486
test byte [0x56a69c], 8
jne 0x4d4dc9
cmp dword [0x56ebd4], 0
je 0x4d4e38
push 0x584377
push dword [ebp - 0xc]
push 0x56bb49
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x583e8c
call fcn.0051998f
jmp 0x4d4e3a
xor eax, eax
test eax, eax
jne 0x4d4eda
cmp dword [0x568240], 0
je 0x4d4e5d
push 0
push 0
push esi
call fcn.004ac351
test eax, eax
jne 0x4d4dc9
cmp dword [0x5681d4], 0
je 0x4d4eda
push 0x584377
push dword [ebp - 0xc]
push 0x56bb53
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x583e8c
call fcn.00556250
pop ecx
push 0
push 0
push 0x56bb5d
push 0x583e8c
call fcn.004ab76b
test eax, eax
je 0x4d4eda
mov esi, 0x56bb62
mov edi, 0x584273
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0x584273
call fcn.0054e28c
pop ecx
push eax
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_send
jmp 0x4d5486
call fcn.0048b728
mov ebx, eax
test ebx, ebx
je 0x4d4dc9
push dword [ebp - 0xc]
push 0x64
lea eax, [ebx + 4]
push eax
call fcn.0042e5e3
push 0x584377
push 0x64
lea edx, [ebx + 0xcc]
push edx
call fcn.0042e5e3
lea ecx, [ebx + 0xcc]
push ecx
push 0x64
lea eax, [ebx + 0x68]
push eax
call fcn.0042e5e3
mov dx, word [0x56baa8]
mov word [ebx + 0x34c], dx
mov dword [ebx + 0x33c], 1
mov dword [ebx + 0x374], 1
mov ecx, dword [ebp - 0x10]
mov dword [ebx + 0x378], ecx
mov dword [ebx + 0x3b0], edi
push 0xa
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 4]
call fcn.00558628
add esp, 0xc
mov dword [ebx + 0x35c], eax
push esi
push edi
mov edi, esi
mov esi, 0x583e8c
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x588ce3
push 0x588be3
push 0x588ae3
push 0x588ae0
push 0x583e8c
call fcn.0050e5fc
add esp, 0x14
push 0x588ce3
push 0x588be3
push 0x56bb71
lea esi, [ebx + 0x234]
push esi
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0
push 0
lea eax, [ebx + 0x130]
push eax
push esi
call fcn.00481b78
push esi
call fcn.0042c88b
test eax, eax
je 0x4d4ff3
push 0
push ebx
call fcn.0048b8ab
jmp 0x4d4dc9
cmp dword [0x56cdd8], 0
je 0x4d505b
push 0x7f8
push 0
lea edx, [ebp - 0x1008]
push edx
call fcn.0054e10c
add esp, 0xc
mov dword [ebp - 0x1004], ebx
lea ecx, [ebp - 0x1008]
push ecx
push 0
push 0
push 0xf
push 0x56bb77
push 0
push 0
push edi
call fcn.004fecf0
test eax, eax
jne 0x4d5045
push 0
push ebx
call fcn.0048b8ab
jmp 0x4d4dc9
cmp dword [ebx + 0x348], 0
je 0x4d505b
push 0
push ebx
call fcn.0048b8ab
jmp 0x4d4ea2
mov eax, dword [0x56bab0]
mov dword [ebx + 0x3a8], eax
mov dword [0x56bab0], 0xffffffff
push eax
call fcn.005279f5
cmp dword [0x56c2ec], 0
je 0x4d50b0
cmp dword [0x56bf04], 1
jne 0x4d5095
push dword [0x56c2f8]
call fcn.0042c69a
jmp 0x4d50b0
cmp dword [0x56bf04], 2
jne 0x4d50b0
push edi
push 1
push 0
push 4
call fcn.00477504
push eax
call fcn.0050d13a
push 0
push 0
push 0x8010
push dword [0x56f018]
call sub.USER32.dll_PostMessageA
push 1
call fcn.004d44b5
jmp 0x4d548d
test esi, esi
je 0x4d5486
cmp byte [esi], 0
je 0x4d5486
push edi
push esi
call fcn.004d47ba
cmp dword [0x5681d4], 0
je 0x4d5165
push 0x584377
push dword [ebp - 0xc]
push str._s_id__s
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x583e8c
call fcn.00556250
pop ecx
push 0
push 0
push 0x56bb8c
push 0x583e8c
call fcn.004ab76b
test eax, eax
je 0x4d5165
mov esi, str.151_rejected_n
mov edi, 0x584273
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0x584273
call fcn.0054e28c
pop ecx
push eax
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_send
jmp 0x4d5486
push esi
mov edi, esi
mov esi, 0x583e8c
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push 0x588ce3
push 0x588be3
push 0x588ae3
push 0x588ae0
push 0x583e8c
call fcn.0050e5fc
add esp, 0x14
push 0x588ce3
push 0x588be3
push 0x56bba0
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x583e8c
call fcn.0042c88b
test eax, eax
je 0x4d520d
mov esi, str.150_unavailable_n
mov edi, 0x584273
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
push 0x584273
call fcn.0054e28c
pop ecx
push eax
push 0x584273
push dword [0x56bab0]
call sub.WSOCK32.dll_send
jmp 0x4d5486
mov esi, dword [0x561210]
test esi, esi
je 0x4d527f
cmp dword [esi + 0x540], 0
je 0x4d5275
cmp dword [esi + 0x520], 3
jne 0x4d5275
push 0x584377
lea eax, [esi + 0x4b8]
push eax
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4d5275
push 0x583e8c
lea edx, [esi + 0x648]
push edx
push 0x56bbb8
push 0x585ce2
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 1
push 0x585ce2
call fcn.0042cbc2
test eax, eax
je 0x4d51d6
jmp 0x4d527f
mov esi, dword [esi + 0x88c]
test esi, esi
jne 0x4d5217
test esi, esi
je 0x4d51d6
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ebx, dword [0x56d9cc]
test ebx, ebx
je 0x4d52c6
cmp dword [ebx + 0x33c], 0
jle 0x4d52bc
lea eax, [esi + 0x4b8]
push eax
lea edx, [ebx + 0xcc]
push edx
call fcn.0054e450
add esp, 8
test eax, eax
jne 0x4d52bc
inc dword [ebp - 0x14]
mov ebx, dword [ebx + 0x3cc]
test ebx, ebx
jne 0x4d5296
mov ecx, dword [esi + 0x868]
cmp ecx, dword [ebp - 0x14]
jle 0x4d51d6
call fcn.005036ca
test eax, eax
jne 0x4d51d6
push dword [esi + 0x888]
call fcn.0041261f
test eax, eax
je 0x4d51d6
call fcn.00503310
mov ebx, eax
test ebx, ebx
je 0x4d51d6
lea eax, [esi + 0x3f0]
push eax
push 0x64
lea edx, [ebx + 4]
push edx
call fcn.0042e5e3
lea ecx, [esi + 0x4b8]
push ecx
push 0x64
lea eax, [ebx + 0xcc]
push eax
call fcn.0042e5e3
lea edx, [esi + 0x454]
push edx
push 0x64
lea ecx, [ebx + 0x68]
push ecx
call fcn.0042e5e3
lea eax, [esi + 0x648]
push eax
push 0x104
lea edi, [ebx + 0x130]
push edi
call fcn.0042e5e3
push 0x583e8c
push 0x104
lea eax, [ebx + 0x234]
push eax
call fcn.0042e5e3
push edi
call fcn.0042e6d8
mov dx, word [0x56baa8]
mov word [ebx + 0x350], dx
mov dword [ebx + 0x370], 1
mov dword [ebx + 0x3ac], 1
mov dword [ebx + 0x33c], 1
mov dword [ebx + 0x374], 3
mov ecx, dword [ebp - 0x10]
mov dword [ebx + 0x378], ecx
mov eax, dword [esi + 0x888]
mov dword [ebx + 0x3c8], eax
lea edx, [ebx + 0x234]
push edx
push edi
push 0x56bbbf
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
lea ecx, [ebp - 0x102c]
push ecx
push 0x583e8c
call fcn.0055482c
add esp, 8
test eax, eax
je 0x4d53fb
push 0
push ebx
call fcn.005034e7
jmp 0x4d51d6
mov eax, dword [ebp - 0x101a]
mov dword [ebx + 0x360], eax
mov eax, dword [0x56bab0]
mov dword [ebx + 0x3c4], eax
mov dword [0x56bab0], 0xffffffff
push eax
call fcn.005279f5
push dword [ebx + 0x360]
mov edx, dword [esi + 0x888]
add edx, 0xa5c
push edx
push str.131__s__lu_n
push 0x583e8c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0
push 0x583e8c
call fcn.0054e28c
pop ecx
push eax
push 0x583e8c
push dword [ebx + 0x3c4]
call sub.WSOCK32.dll_send
push 0x21
push 0x8014
push dword [0x56f018]
push dword [ebx + 0x3c4]
call sub.WSOCK32.dll_WSAAsyncSelect
push 1
call fcn.004d44b5
jmp 0x4d548d
push 1
call fcn.004d44b5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4