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

Disassembly:
mov eax, 0x3880
call fcn.00439bd0
push ebx
push ebp
push esi
mov ebp, ecx
mov al, byte [ebp + 0x57]
push edi
xor edi, edi
cmp al, 1
mov dword [esp + 0x1c], edi
jne 0x431445
mov ecx, dword [ebp + 0xc3c]
lea eax, [esp + 0x1c]
push eax
push 0xaf0
lea ebx, [ebp + 0x58]
push ebx
push ecx
call sub.MSWSOCK.dll_WSARecvEx
cmp eax, 0xffffffff
mov dword [ebp + 0x17f9], eax
jne 0x4314e7
push 0x4635ac
call fcn.00436550
add esp, 4
mov ecx, ebp
call fcn.00430d60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3880
ret
mov eax, dword [ebp + 0xc3c]
push edi
push 0x3e8
lea edx, [esp + 0x184]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
cmp esi, 0xffffffff
jne 0x431486
push str.SOCKET_RECV_ERROR_______________
call fcn.00436550
add esp, 4
mov ecx, ebp
call fcn.00430d60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3880
ret
mov eax, dword [ebp + 0x17fd]
mov ecx, dword [ebp + 0x17f9]
sub ecx, eax
je 0x4314a8
push ecx
lea ecx, [eax + ebp + 0x58]
push ecx
lea edx, [ebp + 0x58]
push edx
call fcn.004394b0
add esp, 0xc
mov edx, dword [ebp + 0x17f9]
push esi
lea eax, [esp + 0x180]
push eax
mov eax, dword [ebp + 0x17fd]
mov ecx, ebp
sub ecx, eax
lea eax, [ecx + edx + 0x58]
push eax
call fcn.004394b0
mov ecx, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x17f9]
sub esi, ecx
add esp, 0xc
add eax, esi
mov dword [ebp + 0x17f9], eax
lea ebx, [ebp + 0x58]
cmp dword [ebp + 0x17f9], edi
mov dword [ebp + 0x17fd], edi
je 0x431bc6
lea esp, [esp]
mov al, byte [ebp + 0x57]
cmp al, 1
je 0x43150b
cmp al, 2
jne 0x431549
mov ecx, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x17f9]
sub eax, ecx
test eax, eax
jle 0x431bc6
cmp eax, 0x24
jb 0x431bb3
add ecx, 0x24
push 0x24
mov dword [ebp + 0x17fd], ecx
lea ecx, [ebp + 0x31]
push ebx
push ecx
call fcn.004394b0
add esp, 0xc
add ebx, 0x24
mov byte [ebp + 0x57], 1
mov cl, byte [ebp + 0x1a05]
test cl, cl
jne 0x43156a
mov ax, word [ebp + 0x35]
cmp ax, 0x50
je 0x43156a
cmp ax, 0x52
je 0x43156a
mov dword [ebp + 0x35], 0xfa
movzx eax, word [ebp + 0x35]
add eax, 0xffffffbd
cmp eax, 0x36
ja case.0x431581.69
movzx edx, byte [eax + 0x431c24]
jmp dword [edx*4 + 0x431bd4]
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
cmp ecx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edi, dword [ebp + 0x17fd]
add edi, eax
push 0x24
lea edx, [ebp + 0x31]
mov dword [ebp + 0x17fd], edi
push edx
lea edi, [ebp + 0x1a06]
push edi
add ebx, eax
call fcn.004394b0
add esp, 0x18
push edi
push ebp
push 0x80c8
jmp 0x431636
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
cmp ecx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edi, dword [ebp + 0x17fd]
add edi, eax
push 0x24
lea edx, [ebp + 0x31]
mov dword [ebp + 0x17fd], edi
push edx
lea edi, [ebp + 0x1a06]
push edi
add ebx, eax
call fcn.004394b0
add esp, 0x18
push edi
push ebp
push 0x80c9
mov dword [ebp + 0x1a2a], esi
mov eax, dword [ebp + 0x1a2e]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
cmp ecx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edi, dword [ebp + 0x17fd]
add edi, eax
push 0x24
lea edx, [ebp + 0x31]
mov dword [ebp + 0x17fd], edi
push edx
lea edi, [ebp + 0x1a06]
push edi
add ebx, eax
call fcn.004394b0
add esp, 0x18
push edi
push ebp
push 0x80ca
jmp 0x431636
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
cmp ecx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edi, dword [ebp + 0x17fd]
add edi, eax
push 0x24
lea edx, [ebp + 0x31]
mov dword [ebp + 0x17fd], edi
push edx
lea edi, [ebp + 0x1a06]
push edi
add ebx, eax
call fcn.004394b0
add esp, 0x18
push edi
push ebp
push 0x80cb
jmp 0x431636
push 0x24
lea ecx, [ebp + 0x31]
push ecx
lea esi, [ebp + 0x1a06]
push esi
call fcn.004394b0
mov edx, dword [ebp + 0x1a2e]
add esp, 0xc
push esi
push ebp
push 0x80cd
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
test cl, cl
je 0x431649
mov ecx, dword [ebp + 0x1a2e]
lea eax, [ebp + 0x39]
push eax
push ebp
push 0x80ce
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
push 0x24
je 0x4317c7
lea edx, [ebp + 0x31]
push edx
lea eax, [esp + 0x28]
push eax
call fcn.004394b0
push 0x24
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x5dc]
push edx
mov dword [esp + 0x54], 1
mov byte [esp + 0x28], 1
mov byte [esp + 0x29], 0
call fcn.004394b0
push 1
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x60c]
push ecx
call fcn.004394b0
mov edx, dword [esp + 0x60]
add esp, 0x24
add edx, 0x24
push edx
lea eax, [esp + 0x5cc]
push eax
mov ecx, ebp
call fcn.00430e10
mov byte [ebp + 0x57], 1
jmp 0x431500
lea ecx, [ebp + 0x31]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.004394b0
push 0x24
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x5dc]
push ecx
mov dword [esp + 0x54], 1
mov byte [esp + 0x28], 0
mov byte [esp + 0x29], 0
call fcn.004394b0
push 1
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x60c]
push eax
call fcn.004394b0
mov ecx, dword [esp + 0x60]
add esp, 0x24
add ecx, 0x24
push ecx
lea edx, [esp + 0x5cc]
push edx
mov ecx, ebp
call fcn.00430e10
mov byte [ebp + 0x57], 1
jmp 0x431500
mov ecx, dword [ebp + 0x1a2e]
lea eax, [ebp + 0x39]
push eax
push ebp
push 0x80cc
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
mov edx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub edx, esi
cmp edx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edx, dword [ebp + 0x17fd]
add edx, eax
add ebx, eax
push 0x24
lea eax, [ebp + 0x31]
push eax
lea edi, [ebp + 0x1a06]
push edi
mov dword [ebp + 0x17fd], edx
call fcn.004394b0
mov ecx, dword [ebp + 0x1a2e]
add esp, 0x18
push edi
push ebp
push 0x80cf
push ecx
mov dword [ebp + 0x1a2a], esi
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
push 0x24
lea edx, [ebp + 0x31]
push edx
lea esi, [ebp + 0x1a06]
push esi
call fcn.004394b0
mov al, byte [ebp + 0x1a05]
add esp, 0xc
test al, al
je 0x431649
push esi
push ebp
push 0x80d0
jmp 0x43163c
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
cmp ecx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edi, dword [ebp + 0x17fd]
add edi, eax
push 0x24
lea edx, [ebp + 0x31]
mov dword [ebp + 0x17fd], edi
push edx
lea edi, [ebp + 0x1a06]
push edi
add ebx, eax
call fcn.004394b0
add esp, 0x18
push edi
push ebp
push 0x80d1
jmp 0x431636
push 0x24
lea ecx, [ebp + 0x31]
push ecx
lea esi, [ebp + 0x1a06]
push esi
call fcn.004394b0
mov edx, dword [ebp + 0x1a2e]
add esp, 0xc
push esi
push ebp
push 0x80d2
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
push 0x24
lea eax, [ebp + 0x31]
push eax
lea esi, [ebp + 0x1a06]
push esi
call fcn.004394b0
mov ecx, dword [ebp + 0x1a2e]
add esp, 0xc
push esi
push ebp
push 0x80d3
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
push 0x24
lea edx, [ebp + 0x31]
push edx
lea esi, [ebp + 0x1a06]
push esi
call fcn.004394b0
add esp, 0xc
push esi
push ebp
push 0x80d4
jmp 0x43163c
mov edx, dword [ebp + 0x1a2e]
lea ecx, [ebp + 0x31]
push ecx
push ebp
push 0x80d5
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov byte [ebp + 0x57], 1
jmp 0x431500
xor eax, eax
push 0x24
mov dword [esp + 0x48], eax
lea esi, [ebp + 0x31]
mov dword [esp + 0x4c], eax
lea edi, [ebp + 0x1a06]
push esi
push edi
mov dword [esp + 0x58], eax
call fcn.004394b0
mov edx, dword [ebp + 0x1a2e]
add esp, 0xc
push edi
push ebp
push 0x80d8
lea ecx, [esp + 0x50]
push edx
mov dword [ebp + 0x1a2a], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esi]
push 0x24
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0xbc]
push edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], 0x67
mov dword [esp + 0x48], 0xc
call fcn.004394b0
push 0xc
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0xec]
push ecx
call fcn.004394b0
mov edx, dword [esp + 0x54]
add esp, 0x18
add edx, 0x24
push edx
lea eax, [esp + 0xb8]
push eax
mov ecx, ebp
call fcn.00430e10
mov byte [ebp + 0x57], 1
jmp 0x431500
mov al, byte [ebp + 0x55]
test al, al
sete cl
mov byte [ebp + 0x55], cl
mov byte [ebp + 0x57], 1
jmp 0x431500
mov al, byte [ebp + 0x56]
test al, al
sete dl
mov byte [ebp + 0x56], dl
mov byte [ebp + 0x57], 1
jmp 0x431500
mov eax, dword [0x467a98]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0x52
mov dword [esp + 0x3c], 8
mov ecx, 9
lea esi, [esp + 0x20]
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x467a9c]
push 0x2c
lea edx, [esp + 0x54]
mov dword [esp + 0x7c], ecx
push edx
mov ecx, ebp
mov dword [esp + 0x7c], eax
call fcn.00430e10
mov byte [ebp + 0x57], 1
jmp 0x431500
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
cmp ecx, eax
jl 0x431bc2
push eax
lea esi, [ebp + 0xc40]
push ebx
push esi
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edx, dword [ebp + 0x17fd]
add esp, 0xc
add edx, eax
push esi
mov ecx, ebp
mov dword [ebp + 0x17fd], edx
add ebx, eax
call fcn.00431200
mov byte [ebp + 0x57], 1
jmp 0x431500
lea edx, [ebp + 0x43]
push edx
lea eax, [ebp + 0x39]
push eax
push str.SOCKWIN::DEFAULT_WITH_CALL_s__s
call fcn.00436550
mov ecx, dword [ebp + 0x17f9]
mov esi, dword [ebp + 0x17fd]
mov eax, dword [ebp + 0x4d]
sub ecx, esi
add esp, 0xc
cmp ecx, eax
jl 0x431bc2
push eax
lea edx, [ebp + 0xc40]
push ebx
push edx
call fcn.004394b0
mov eax, dword [ebp + 0x4d]
mov edx, dword [ebp + 0x17fd]
add edx, eax
add esp, 0xc
mov dword [ebp + 0x17fd], edx
add ebx, eax
mov byte [ebp + 0x57], 1
jmp 0x431500
pop edi
pop esi
mov byte [ebp + 0x57], 2
pop ebp
pop ebx
add esp, 0x3880
ret
mov byte [ebp + 0x57], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3880
ret