Function at 0x4716c0
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push esi
mov eax, 0xcccccccc
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 3
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 4
ja case.0x4716ff.1
mov edx, dword [ebp - 0x10]
jmp dword [edx*4 + 0x471ad0]
mov eax, dword [ebp + 8]
add eax, 0x15c
push eax
call fcn.00472d00
add esp, 4
movzx ecx, ax
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0x40]
add eax, 1
and eax, 0xffff
cmp eax, dword [ebp - 8]
jne 0x47173d
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0
jmp 0x47178b
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0x40]
cmp eax, dword [ebp - 8]
jne 0x471760
mov ecx, dword [ebp - 8]
push ecx
push str.Received_last_DATA_packet_block__d_again._n
mov edx, dword [ebp - 0xc]
push edx
call fcn.0043e010
add esp, 0xc
jmp 0x47178b
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x40]
add ecx, 1
and ecx, 0xffff
push ecx
mov edx, dword [ebp - 8]
push edx
push str.Received_unexpected_DATA_packet_block__d__expecting_block__d_n
mov eax, dword [ebp - 0xc]
push eax
call fcn.0043e010
add esp, 0x10
jmp 0x471abe
mov ecx, dword [ebp + 8]
mov dx, word [ebp - 8]
mov word [ecx + 0x40], dx
push 4
mov eax, dword [ebp + 8]
add eax, 0x160
push eax
call fcn.00472c50
add esp, 8
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0x40]
push edx
mov eax, dword [ebp + 8]
add eax, 0x160
push eax
call fcn.00472c90
add esp, 8
mov esi, esp
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x148]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc8
push eax
push 0
push 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
cmp esi, esp
call fcn.004a9923
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x47183d
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.004a9923
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
push eax
call fcn.0041d3e0
add esp, 8
push eax
push 0x4cc5b8
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0043e100
add esp, 0xc
mov eax, 0x37
jmp 0x471ac0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x154]
add eax, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14c], eax
jge 0x47185f
mov edx, dword [ebp + 8]
mov dword [edx], 3
jmp 0x471868
mov eax, dword [ebp + 8]
mov dword [eax], 1
mov ecx, dword [ebp + 8]
add ecx, 0x38
push ecx
call fcn.00471690
add esp, 4
jmp 0x471abe
xor edx, edx
mov eax, dword [ebp + 8]
mov word [eax + 0x40], dx
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0
push 4
mov edx, dword [ebp + 8]
add edx, 0x160
push edx
call fcn.00472c50
add esp, 8
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x40]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x160
push edx
call fcn.00472c90
add esp, 8
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x148]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc8
push edx
push 0
push 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_sendto]
cmp esi, esp
call fcn.004a9923
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x471939
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.004a9923
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
push edx
call fcn.0041d3e0
add esp, 8
push eax
push 0x4cc5bc
mov eax, dword [ebp - 0xc]
push eax
call fcn.0043e100
add esp, 0xc
mov eax, 0x37
jmp 0x471ac0
mov ecx, dword [ebp + 8]
mov dword [ecx], 1
mov edx, dword [ebp + 8]
add edx, 0x38
push edx
call fcn.00471690
add esp, 4
jmp 0x471abe
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
push ecx
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0x40]
add eax, 1
and eax, 0xffff
push eax
push 0x4cc5c0
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0043e010
add esp, 0x10
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [edx + 0x18]
cmp ecx, dword [eax + 0x20]
jle 0x4719b0
mov edx, dword [ebp + 8]
mov dword [edx + 8], 0xffffff9d
mov eax, dword [ebp + 8]
mov dword [eax], 3
jmp 0x471a2b
mov esi, esp
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x148]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc8
push eax
push 0
push 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
push ecx
call dword [sym.imp.WS2_32.dll_sendto]
cmp esi, esp
call fcn.004a9923
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jge 0x471a2b
mov esi, esp
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp esi, esp
call fcn.004a9923
push eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
push eax
call fcn.0041d3e0
add esp, 8
push eax
push 0x4cc5f4
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.0043e100
add esp, 0xc
mov eax, 0x37
jmp 0x471ac0
jmp 0x471abe
push 5
mov edx, dword [ebp + 8]
add edx, 0x160
push edx
call fcn.00472c50
add esp, 8
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0x40]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x160
push edx
call fcn.00472c90
add esp, 8
mov esi, esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x148]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc8
push edx
push 0
push 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
push eax
call dword [sym.imp.WS2_32.dll_sendto]
cmp esi, esp
call fcn.004a9923
mov ecx, dword [ebp + 8]
mov dword [ecx], 3
jmp 0x471abe
push str.tftp_rx:_internal_error
push 0x4cc610
mov edx, dword [ebp - 0xc]
push edx
call fcn.0043e100
add esp, 0xc
mov eax, 0x47
jmp 0x471ac0
xor eax, eax
pop esi
add esp, 0x10
cmp ebp, esp
call fcn.004a9923
mov esp, ebp
pop ebp
ret