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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x43c
mov eax, dword [0x442288]
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 0x41afbd
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 0x41ae7d
cmp byte [ebp + ecx - 0x437], 0
je 0x41ae7c
cmp byte [ebp + ecx - 0x436], 0
je 0x41ae77
cmp byte [ebp + ecx - 0x435], 0
je 0x41ae72
add ecx, 4
cmp ecx, 0x10
jb 0x41ae40
jmp 0x41ae7d
add ecx, 3
jmp 0x41ae7d
add ecx, 2
jmp 0x41ae7d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41ae8f
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 0x41aeed
cmp byte [ebp + ecx - 0x437], 0
je 0x41aeec
cmp byte [ebp + ecx - 0x436], 0
je 0x41aee7
cmp byte [ebp + ecx - 0x435], 0
je 0x41aee2
add ecx, 4
cmp ecx, 0x10
jb 0x41aeb0
jmp 0x41aeed
add ecx, 3
jmp 0x41aeed
add ecx, 2
jmp 0x41aeed
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41aeff
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 0x41af5d
cmp byte [ebp + ecx - 0x437], 0
je 0x41af5c
cmp byte [ebp + ecx - 0x436], 0
je 0x41af57
cmp byte [ebp + ecx - 0x435], 0
je 0x41af52
add ecx, 4
cmp ecx, 0x10
jb 0x41af20
jmp 0x41af5d
add ecx, 3
jmp 0x41af5d
add ecx, 2
jmp 0x41af5d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41af6f
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.00416900
add esp, 0xc
mov byte [esi + 0xa71], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e406
mov esp, ebp
pop ebp
ret
cmp edi, 4
jge 0x41b14f
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 0x41b01d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b01c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b017
cmp byte [ebp + ecx - 0x435], 0
je 0x41b012
add ecx, 4
cmp ecx, 0x10
jb 0x41afe0
jmp 0x41b01d
add ecx, 3
jmp 0x41b01d
add ecx, 2
jmp 0x41b01d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b02f
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 0x41b08d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b08c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b087
cmp byte [ebp + ecx - 0x435], 0
je 0x41b082
add ecx, 4
cmp ecx, 0x10
jb 0x41b050
jmp 0x41b08d
add ecx, 3
jmp 0x41b08d
add ecx, 2
jmp 0x41b08d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b09f
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 0x41b0fd
cmp byte [ebp + ecx - 0x437], 0
je 0x41b0fc
cmp byte [ebp + ecx - 0x436], 0
je 0x41b0f7
cmp byte [ebp + ecx - 0x435], 0
je 0x41b0f2
add ecx, 4
cmp ecx, 0x10
jb 0x41b0c0
jmp 0x41b0fd
add ecx, 3
jmp 0x41b0fd
add ecx, 2
jmp 0x41b0fd
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b10f
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.00416900
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e406
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 0x41b2f6
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 0x41b1bd
cmp byte [ebp + ecx - 0x437], 0
je 0x41b1bc
cmp byte [ebp + ecx - 0x436], 0
je 0x41b1b7
cmp byte [ebp + ecx - 0x435], 0
je 0x41b1b2
add ecx, 4
cmp ecx, 0x10
jb 0x41b180
jmp 0x41b1bd
add ecx, 3
jmp 0x41b1bd
add ecx, 2
jmp 0x41b1bd
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b1cf
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 0x41b22d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b22c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b227
cmp byte [ebp + ecx - 0x435], 0
je 0x41b222
add ecx, 4
cmp ecx, 0x10
jb 0x41b1f0
jmp 0x41b22d
add ecx, 3
jmp 0x41b22d
add ecx, 2
jmp 0x41b22d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b23f
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 0x41b29d
cmp byte [ebp + ecx - 0x437], 0
je 0x41b29c
cmp byte [ebp + ecx - 0x436], 0
je 0x41b297
cmp byte [ebp + ecx - 0x435], 0
je 0x41b292
add ecx, 4
cmp ecx, 0x10
jb 0x41b260
jmp 0x41b29d
add ecx, 3
jmp 0x41b29d
add ecx, 2
jmp 0x41b29d
inc ecx
lea eax, [ecx + 2]
cmp eax, 0x10
ja 0x41b2af
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.00416900
add esp, 8
mov byte [esi + 0xa71], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e406
mov esp, ebp
pop ebp
ret
cmp ax, 4
je 0x41b340
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.00416900
mov ecx, dword [esi]
lea edx, [ebp - 0x428]
add esp, 0xc
push edi
call fcn.00416c00
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e406
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 0x41b38b
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.00416900
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e406
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0xa70], 0
je 0x41b3d0
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.00416900
add esp, 0xc
mov byte [esi + 0xa71], 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041e406
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.0041ba40
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041e406
mov esp, ebp
pop ebp
ret