Function at 0x4d3a13
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 0x4d467d
cmp eax, 0x20
je 0x4d467d
cmp dword [0x5699a0], 0xffffffff
je 0x4d467d
call fcn.004127e5
mov edi, eax
test edi, edi
je 0x4d467d
push 0
push 0x103
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_recv
cmp eax, 0xffffffff
je 0x4d467d
cmp eax, 1
jle 0x4d467d
mov byte [eax + 0x581c43], 0
push 0
push 0
push dword [0x56cee8]
push dword [0x5699a0]
call sub.WSOCK32.dll_WSAAsyncSelect
xor eax, eax
mov dword [0x569984], eax
push 0x581c43
call fcn.004d38ec
test eax, eax
je 0x4d467d
mov ebx, 0x581c43
jmp 0x4d3ac1
inc ebx
cmp byte [ebx], 0x20
je 0x4d3ac0
cmp byte [ebx], 0
je 0x4d467d
push 0x20
push ebx
call fcn.0054c230
add esp, 8
mov esi, eax
test esi, esi
je 0x4d467d
mov byte [esi], 0
mov dword [ebp - 8], ebx
lea ebx, [esi + 1]
jmp 0x4d3af0
inc ebx
cmp byte [ebx], 0x20
je 0x4d3aef
cmp byte [ebx], 0
je 0x4d467d
push 0x20
push ebx
call fcn.0054c230
add esp, 8
mov esi, eax
test esi, esi
je 0x4d3b22
mov byte [esi], 0
inc esi
jmp 0x4d3b16
inc esi
cmp byte [esi], 0x20
je 0x4d3b15
cmp byte [esi], 0
jne 0x4d3b22
xor esi, esi
mov dword [ebp - 0xc], ebx
push dword [ebp - 0xc]
call fcn.004d3933
test eax, eax
je 0x4d467d
push dword [ebp - 8]
call fcn.00555124
pop ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
sub eax, 0x64
je 0x4d3b65
sub eax, 0xa
je 0x4d3b65
sub eax, 0xa
je 0x4d3f69
sub eax, 0xa
je 0x4d42c7
jmp 0x4d467d
cmp dword [0x561bf8], 2
je 0x4d3b8c
cmp dword [0x56998c], 0
jne 0x4d3b7d
cmp dword [ebp - 0x10], 0x64
je 0x4d3b8c
cmp dword [0x569990], 0
jne 0x4d3bc3
cmp dword [ebp - 0x10], 0x6e
jne 0x4d3bc3
mov esi, 0x5699ec
mov edi, 0x581c43
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
push 0x581c43
call fcn.0054c2d0
pop ecx
push eax
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_send
jmp 0x4d467d
cmp dword [ebp - 0x10], 0x64
jne 0x4d3c28
test byte [0x5685e4], 0x20
jne 0x4d3b8c
xor edx, edx
mov dword [ebp - 0x14], edx
mov ebx, dword [0x55f1e0]
test ebx, ebx
je 0x4d3c7d
cmp dword [ebx + 0x520], 0
je 0x4d3c1c
cmp dword [ebx + 0x540], 0
jne 0x4d3c1c
push 0x581d47
lea eax, [ebx + 0x4b8]
push eax
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4d3c1c
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jg 0x4d3b8c
mov ebx, dword [ebx + 0x88c]
test ebx, ebx
jne 0x4d3be5
jmp 0x4d3c7d
cmp dword [ebp - 0x10], 0x6e
jne 0x4d3c7d
test byte [0x5685e4], 0x10
jne 0x4d3b8c
mov ebx, dword [0x55f1e0]
test ebx, ebx
je 0x4d3c7d
cmp dword [ebx + 0x520], 0
je 0x4d3c73
cmp dword [ebx + 0x540], 0
je 0x4d3c73
push 0x581d47
lea eax, [ebx + 0x4b8]
push eax
call fcn.0054c494
add esp, 8
test eax, eax
je 0x4d3b8c
mov ebx, dword [ebx + 0x88c]
test ebx, ebx
jne 0x4d3c45
cmp dword [0x566120], 0
je 0x4d3cfa
push 0x581d47
push dword [ebp - 0xc]
push 0x5699fe
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x58185c
call fcn.00554294
pop ecx
push 0
push 0
push 0x569a08
push 0x58185c
call fcn.004ab987
test eax, eax
je 0x4d3cfa
mov esi, 0x569a0e
mov edi, 0x581c43
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0x581c43
call fcn.0054c2d0
pop ecx
push eax
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_send
jmp 0x4d467d
cmp dword [ebp - 0x10], 0x6e
jne 0x4d3d8a
cmp byte [0x57d978], 0
je 0x4d3b8c
push 2
push 0x57d978
call fcn.0042c9b5
test eax, eax
je 0x4d3b8c
cmp dword [0x56216c], 0
je 0x4d3d8a
push dword [ebp - 0xc]
push 0x64
push 0x57c2c4
call fcn.0042e322
push edi
mov esi, 0x577e2a
mov edi, 0x57d978
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 0x46d8d2
push 0x334
push dword [0x56cee8]
call fcn.0046b0f0
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jle 0x4d3b8c
call fcn.00438814
mov ebx, eax
test ebx, ebx
je 0x4d3b8c
push dword [ebp - 0xc]
push 0x64
lea eax, [ebx + 0x3f0]
push eax
call fcn.0042e322
push 0x581d47
push 0x64
lea esi, [ebx + 0x4b8]
push esi
call fcn.0042e322
push esi
push 0x64
lea eax, [ebx + 0x454]
push eax
call fcn.0042e322
mov dx, word [0x569998]
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 [0x561c2c]
mov dword [ebx + 0x868], eax
dec eax
jge 0x4d3e17
mov dword [ebx + 0x868], 1
jmp 0x4d3e2a
cmp dword [ebx + 0x868], 0x14
jle 0x4d3e2a
mov dword [ebx + 0x868], 0x14
push 0x57d978
push 0x104
lea esi, [ebx + 0x544]
push esi
call fcn.0042e322
push esi
push 0x104
lea eax, [ebx + 0x648]
push eax
call fcn.0042e322
push 0x57da7c
push 0x104
lea edx, [ebx + 0x74c]
push edx
call fcn.0042e322
cmp dword [ebp - 0x10], 0x6e
jne 0x4d3e84
mov dword [ebx + 0x528], 1
mov dword [ebx + 0x540], 1
jmp 0x4d3e94
xor ecx, ecx
mov dword [ebx + 0x528], ecx
xor eax, eax
mov dword [ebx + 0x540], eax
cmp dword [0x56acb4], 0
je 0x4d3ee6
push 0x7f8
push 0
lea edx, [ebp - 0x810]
push edx
call fcn.0054c150
add esp, 0xc
mov dword [ebp - 0x808], ebx
lea ecx, [ebp - 0x810]
push ecx
push 0
push 0
push 0xf
push 0x569a1d
push 0
push 0
push edi
call fcn.004fd2f4
test eax, eax
jne 0x4d3ee6
push 0
push ebx
call fcn.00438974
jmp 0x4d3b8c
mov eax, dword [0x5699a0]
mov dword [ebx + 0x884], eax
mov dword [0x5699a0], 0xffffffff
push eax
call fcn.00525bcd
cmp dword [ebp - 0x10], 0x6e
jne 0x4d3f0f
push ebx
call fcn.00439f6f
jmp 0x4d3f5d
cmp dword [0x56a1d4], 0
je 0x4d3f49
cmp dword [0x569de8], 1
jne 0x4d3f2e
push dword [0x56a1e0]
call fcn.0042c48d
jmp 0x4d3f49
cmp dword [0x569de8], 2
jne 0x4d3f49
push edi
push 1
push 0
push 0
call fcn.00477d00
push eax
call fcn.0050b5a6
push 0
push 0
push 0x8020
push dword [0x56cee8]
call sub.USER32.dll_PostMessageA
push 1
call fcn.004d36a9
jmp 0x4d4684
test esi, esi
je 0x4d467d
mov ebx, esi
push 0x20
push ebx
call fcn.0054c230
add esp, 8
mov esi, eax
test esi, esi
je 0x4d467d
mov byte [esi], 0
mov dword [ebp - 4], ebx
lea ebx, [esi + 1]
jmp 0x4d3f94
inc ebx
cmp byte [ebx], 0x20
je 0x4d3f93
cmp byte [ebx], 0
je 0x4d467d
mov esi, ebx
push edi
push esi
call fcn.004d39ae
cmp dword [0x569988], 0
je 0x4d3fbd
cmp dword [0x561bf0], 2
jne 0x4d3ff4
mov esi, 0x569a28
mov edi, 0x581c43
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
push 0x581c43
call fcn.0054c2d0
pop ecx
push eax
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_send
jmp 0x4d467d
test byte [0x5685e4], 8
jne 0x4d3fbd
cmp dword [0x56caa4], 0
je 0x4d402c
push 0x581d47
push dword [ebp - 0xc]
push 0x569a3a
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x58185c
call fcn.00517c53
jmp 0x4d4031
mov eax, 1
test eax, eax
jne 0x4d40d1
cmp dword [0x56618c], 0
je 0x4d4054
push 0
push 0
push esi
call fcn.004ac56d
test eax, eax
jne 0x4d3fbd
cmp dword [0x566120], 0
je 0x4d40d1
push 0x581d47
push dword [ebp - 0xc]
push 0x569a44
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x58185c
call fcn.00554294
pop ecx
push 0
push 0
push 0x569a4e
push 0x58185c
call fcn.004ab987
test eax, eax
je 0x4d40d1
mov esi, 0x569a54
mov edi, 0x581c43
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0x581c43
call fcn.0054c2d0
pop ecx
push eax
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_send
jmp 0x4d467d
call fcn.0048bc28
mov ebx, eax
test ebx, ebx
je 0x4d3fbd
push dword [ebp - 0xc]
push 0x64
lea eax, [ebx + 4]
push eax
call fcn.0042e322
push 0x581d47
push 0x64
lea edx, [ebx + 0xcc]
push edx
call fcn.0042e322
lea ecx, [ebx + 0xcc]
push ecx
push 0x64
lea eax, [ebx + 0x68]
push eax
call fcn.0042e322
mov dx, word [0x569998]
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.0055666c
add esp, 0xc
mov dword [ebx + 0x35c], eax
push esi
push edi
mov edi, esi
mov esi, 0x58185c
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 0x586e7f
push 0x586d7f
push 0x586c7f
push 0x586c7c
push 0x58185c
call fcn.0050ca44
add esp, 0x14
push 0x586e7f
push 0x586d7f
push 0x569a63
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.00482188
push esi
call fcn.0042c67e
test eax, eax
je 0x4d41ea
push 0
push ebx
call fcn.0048bdab
jmp 0x4d3fbd
cmp dword [0x56acb4], 0
je 0x4d4252
push 0x7f8
push 0
lea edx, [ebp - 0x1008]
push edx
call fcn.0054c150
add esp, 0xc
mov dword [ebp - 0x1004], ebx
lea ecx, [ebp - 0x1008]
push ecx
push 0
push 0
push 0xf
push 0x569a69
push 0
push 0
push edi
call fcn.004fd2f4
test eax, eax
jne 0x4d423c
push 0
push ebx
call fcn.0048bdab
jmp 0x4d3fbd
cmp dword [ebx + 0x348], 0
je 0x4d4252
push 0
push ebx
call fcn.0048bdab
jmp 0x4d4099
mov eax, dword [0x5699a0]
mov dword [ebx + 0x3a8], eax
mov dword [0x5699a0], 0xffffffff
push eax
call fcn.00525bcd
cmp dword [0x56a1d4], 0
je 0x4d42a7
cmp dword [0x569df8], 1
jne 0x4d428c
push dword [0x56a1e0]
call fcn.0042c48d
jmp 0x4d42a7
cmp dword [0x569df8], 2
jne 0x4d42a7
push edi
push 1
push 0
push 4
call fcn.00477d00
push eax
call fcn.0050b5a6
push 0
push 0
push 0x8010
push dword [0x56cee8]
call sub.USER32.dll_PostMessageA
push 1
call fcn.004d36a9
jmp 0x4d4684
test esi, esi
je 0x4d467d
cmp byte [esi], 0
je 0x4d467d
push edi
push esi
call fcn.004d39ae
cmp dword [0x566120], 0
je 0x4d435c
push 0x581d47
push dword [ebp - 0xc]
push str._s_id__s
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x58185c
call fcn.00554294
pop ecx
push 0
push 0
push 0x569a7e
push 0x58185c
call fcn.004ab987
test eax, eax
je 0x4d435c
mov esi, str.151_rejected_n
mov edi, 0x581c43
mov eax, edi
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0
push 0x581c43
call fcn.0054c2d0
pop ecx
push eax
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_send
jmp 0x4d467d
push esi
mov edi, esi
mov esi, 0x58185c
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 0x586e7f
push 0x586d7f
push 0x586c7f
push 0x586c7c
push 0x58185c
call fcn.0050ca44
add esp, 0x14
push 0x586e7f
push 0x586d7f
push 0x569a93
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0x58185c
call fcn.0042c67e
test eax, eax
je 0x4d4404
mov esi, str.150_unavailable_n
mov edi, 0x581c43
mov eax, edi
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
push 0
push 0x581c43
call fcn.0054c2d0
pop ecx
push eax
push 0x581c43
push dword [0x5699a0]
call sub.WSOCK32.dll_send
jmp 0x4d467d
mov esi, dword [0x55f1e0]
test esi, esi
je 0x4d4476
cmp dword [esi + 0x540], 0
je 0x4d446c
cmp dword [esi + 0x520], 3
jne 0x4d446c
push 0x581d47
lea eax, [esi + 0x4b8]
push eax
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4d446c
push 0x58185c
lea edx, [esi + 0x648]
push edx
push 0x569aab
push 0x5836b2
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 1
push 0x5836b2
call fcn.0042c9b5
test eax, eax
je 0x4d43cd
jmp 0x4d4476
mov esi, dword [esi + 0x88c]
test esi, esi
jne 0x4d440e
test esi, esi
je 0x4d43cd
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov ebx, dword [0x56b89c]
test ebx, ebx
je 0x4d44bd
cmp dword [ebx + 0x33c], 0
jle 0x4d44b3
lea eax, [esi + 0x4b8]
push eax
lea edx, [ebx + 0xcc]
push edx
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x4d44b3
inc dword [ebp - 0x14]
mov ebx, dword [ebx + 0x3cc]
test ebx, ebx
jne 0x4d448d
mov ecx, dword [esi + 0x868]
cmp ecx, dword [ebp - 0x14]
jle 0x4d43cd
call fcn.00501b7e
test eax, eax
jne 0x4d43cd
push dword [esi + 0x888]
call fcn.00412773
test eax, eax
je 0x4d43cd
call fcn.005017c4
mov ebx, eax
test ebx, ebx
je 0x4d43cd
lea eax, [esi + 0x3f0]
push eax
push 0x64
lea edx, [ebx + 4]
push edx
call fcn.0042e322
lea ecx, [esi + 0x4b8]
push ecx
push 0x64
lea eax, [ebx + 0xcc]
push eax
call fcn.0042e322
lea edx, [esi + 0x454]
push edx
push 0x64
lea ecx, [ebx + 0x68]
push ecx
call fcn.0042e322
lea eax, [esi + 0x648]
push eax
push 0x104
lea edi, [ebx + 0x130]
push edi
call fcn.0042e322
push 0x58185c
push 0x104
lea eax, [ebx + 0x234]
push eax
call fcn.0042e322
push edi
call fcn.0042e417
mov dx, word [0x569998]
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 0x569ab2
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
lea ecx, [ebp - 0x102c]
push ecx
push 0x58185c
call fcn.00552870
add esp, 8
test eax, eax
je 0x4d45f2
push 0
push ebx
call fcn.0050199b
jmp 0x4d43cd
mov eax, dword [ebp - 0x101a]
mov dword [ebx + 0x360], eax
mov eax, dword [0x5699a0]
mov dword [ebx + 0x3c4], eax
mov dword [0x5699a0], 0xffffffff
push eax
call fcn.00525bcd
push dword [ebx + 0x360]
mov edx, dword [esi + 0x888]
add edx, 0xa58
push edx
push str.131__s__lu_n
push 0x58185c
call sub.USER32.dll_wsprintfA
add esp, 0x10
push 0
push 0x58185c
call fcn.0054c2d0
pop ecx
push eax
push 0x58185c
push dword [ebx + 0x3c4]
call sub.WSOCK32.dll_send
push 0x21
push 0x8014
push dword [0x56cee8]
push dword [ebx + 0x3c4]
call sub.WSOCK32.dll_WSAAsyncSelect
push 1
call fcn.004d36a9
jmp 0x4d4684
push 1
call fcn.004d36a9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4