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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x43c
mov eax, dword [0x441288]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0
mov esi, ecx
lea eax, [ebp - 0x428]
push 0x400
push eax
push dword [esi]
call dword [sym.imp.WS2_32.dll_recv]
mov edi, eax
test edi, edi
jg 0x41af9d
mov ebx, dword [esi + 0xa6c]
lea ecx, [ebp - 0x438]
movzx edx, bl
call fcn.004015f0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41ae5d
cmp byte [ebp + ecx - 0x437], 0
je 0x41ae5c
cmp byte [ebp + ecx - 0x436], 0
je 0x41ae57
cmp byte [ebp + ecx - 0x435], 0
je 0x41ae52
add ecx, 4
cmp ecx, 0x10
jb 0x41ae20
jmp 0x41ae5d
add ecx, 3
jmp 0x41ae5d
add ecx, 2
jmp 0x41ae5d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41ae6f
mov word [ebp + ecx - 0x438], 0x2e
movzx edx, byte [esi + 0xa6d]
lea ecx, [ebp - 0x24]
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41aecd
cmp byte [ebp + ecx - 0x437], 0
je 0x41aecc
cmp byte [ebp + ecx - 0x436], 0
je 0x41aec7
cmp byte [ebp + ecx - 0x435], 0
je 0x41aec2
add ecx, 4
cmp ecx, 0x10
jb 0x41ae90
jmp 0x41aecd
add ecx, 3
jmp 0x41aecd
add ecx, 2
jmp 0x41aecd
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41aedf
mov word [ebp + ecx - 0x438], 0x2e
movzx edx, byte [esi + 0xa6e]
lea ecx, [ebp - 0x24]
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41af3d
cmp byte [ebp + ecx - 0x437], 0
je 0x41af3c
cmp byte [ebp + ecx - 0x436], 0
je 0x41af37
cmp byte [ebp + ecx - 0x435], 0
je 0x41af32
add ecx, 4
cmp ecx, 0x10
jb 0x41af00
jmp 0x41af3d
add ecx, 3
jmp 0x41af3d
add ecx, 2
jmp 0x41af3d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41af4f
mov word [ebp + ecx - 0x438], 0x2e
shr ebx, 0x18
lea ecx, [ebp - 0x24]
mov edx, ebx
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
lea eax, [ebp - 0x438]
push eax
push str.__s__recv___failed__error__d._Close_connection.
call fcn.00416930
add esp, 0xc
mov byte [esi + 0xa71], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e246
mov esp, ebp
pop ebp
ret
cmp edi, 4
jge 0x41b12f
mov ebx, dword [esi + 0xa6c]
lea ecx, [ebp - 0x438]
movzx edx, bl
call fcn.004015f0
xor ecx, ecx
lea esp, [esp]
cmp byte [ebp + ecx - 0x438], 0
je 0x41affd
cmp byte [ebp + ecx - 0x437], 0
je 0x41affc
cmp byte [ebp + ecx - 0x436], 0
je 0x41aff7
cmp byte [ebp + ecx - 0x435], 0
je 0x41aff2
add ecx, 4
cmp ecx, 0x10
jb 0x41afc0
jmp 0x41affd
add ecx, 3
jmp 0x41affd
add ecx, 2
jmp 0x41affd
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b00f
mov word [ebp + ecx - 0x438], 0x2e
movzx edx, byte [esi + 0xa6d]
lea ecx, [ebp - 0x24]
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41b06d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b06c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b067
cmp byte [ebp + ecx - 0x435], 0
je 0x41b062
add ecx, 4
cmp ecx, 0x10
jb 0x41b030
jmp 0x41b06d
add ecx, 3
jmp 0x41b06d
add ecx, 2
jmp 0x41b06d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b07f
mov word [ebp + ecx - 0x438], 0x2e
movzx edx, byte [esi + 0xa6e]
lea ecx, [ebp - 0x24]
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41b0dd
cmp byte [ebp + ecx - 0x437], 0
je 0x41b0dc
cmp byte [ebp + ecx - 0x436], 0
je 0x41b0d7
cmp byte [ebp + ecx - 0x435], 0
je 0x41b0d2
add ecx, 4
cmp ecx, 0x10
jb 0x41b0a0
jmp 0x41b0dd
add ecx, 3
jmp 0x41b0dd
add ecx, 2
jmp 0x41b0dd
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b0ef
mov word [ebp + ecx - 0x438], 0x2e
shr ebx, 0x18
lea ecx, [ebp - 0x24]
mov edx, ebx
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
lea eax, [ebp - 0x438]
push eax
push str.__s__Received_short_packet.
call fcn.00416930
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e246
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x428]
mov ebx, dword [sym.imp.WS2_32.dll_ntohs]
call ebx
movzx eax, ax
cmp ax, 5
jne 0x41b2d6
mov ebx, dword [esi + 0xa6c]
lea ecx, [ebp - 0x438]
movzx edx, bl
call fcn.004015f0
xor ecx, ecx
cmp byte [ebp + ecx - 0x438], 0
je 0x41b19d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b19c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b197
cmp byte [ebp + ecx - 0x435], 0
je 0x41b192
add ecx, 4
cmp ecx, 0x10
jb 0x41b160
jmp 0x41b19d
add ecx, 3
jmp 0x41b19d
add ecx, 2
jmp 0x41b19d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b1af
mov word [ebp + ecx - 0x438], 0x2e
movzx edx, byte [esi + 0xa6d]
lea ecx, [ebp - 0x24]
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41b20d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b20c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b207
cmp byte [ebp + ecx - 0x435], 0
je 0x41b202
add ecx, 4
cmp ecx, 0x10
jb 0x41b1d0
jmp 0x41b20d
add ecx, 3
jmp 0x41b20d
add ecx, 2
jmp 0x41b20d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b21f
mov word [ebp + ecx - 0x438], 0x2e
movzx edx, byte [esi + 0xa6e]
lea ecx, [ebp - 0x24]
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
xor ecx, ecx
mov edi, edi
cmp byte [ebp + ecx - 0x438], 0
je 0x41b27d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b27c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b277
cmp byte [ebp + ecx - 0x435], 0
je 0x41b272
add ecx, 4
cmp ecx, 0x10
jb 0x41b240
jmp 0x41b27d
add ecx, 3
jmp 0x41b27d
add ecx, 2
jmp 0x41b27d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b28f
mov word [ebp + ecx - 0x438], 0x2e
shr ebx, 0x18
lea ecx, [ebp - 0x24]
mov edx, ebx
call fcn.004015f0
lea edx, [ebp - 0x24]
lea ecx, [ebp - 0x438]
call fcn.004016c0
lea eax, [ebp - 0x438]
push eax
push str.__s__Received_opcode_ERR.
call fcn.00416930
add esp, 8
mov byte [esi + 0xa71], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e246
mov esp, ebp
pop ebp
ret
cmp ax, 4
je 0x41b320
cwde
lea ecx, [ebp - 0x438]
push eax
add esi, 0xa6c
push esi
call fcn.004013b0
push eax
push str.__s__Received_opcode__d.
call fcn.00416930
mov ecx, dword [esi]
lea edx, [ebp - 0x428]
add esp, 0xc
push edi
call fcn.00416c30
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e246
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x426]
call ebx
mov ecx, dword [esi + 0xa10]
movzx edx, ax
movzx eax, cx
cmp edx, eax
je 0x41b36b
push edx
push ecx
lea eax, [esi + 0xa6c]
push eax
lea ecx, [ebp - 0x438]
call fcn.004013b0
push eax
push str.__s__Incorrect_ACK_received__expected__d__received__d_.
call fcn.00416930
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e246
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0xa70], 0
je 0x41b3b0
lea eax, [esi + 4]
push eax
lea eax, [esi + 0xa6c]
push eax
lea ecx, [ebp - 0x438]
call fcn.004013b0
push eax
push str.__s____s_:_completed.
call fcn.00416930
add esp, 0xc
mov byte [esi + 0xa71], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e246
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.0041ba20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041e246
mov esp, ebp
pop ebp
ret