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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x100
add eax, 0xfffffffd
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [esi + 0x10]
cmp eax, 4
ja case.0x10044d91.4
jmp dword [eax*4 + 0x10045028]
mov ecx, dword [esi + 0x148]
movzx eax, byte [ecx + 2]
shl ax, 8
movzx ebx, ax
movzx eax, byte [ecx + 3]
movzx ecx, word [esi + 0x144]
or ebx, eax
lea eax, [ecx + 1]
and eax, 0xffff
cmp eax, ebx
jne 0x10044dcb
mov dword [esi + 0x18], 0
jmp 0x10044de2
cmp ecx, ebx
jne 0x10044e74
push ebx
push str.Received_last_DATA_packet_block__d_again.
push edi
call fcn.1000ff60
add esp, 0xc
mov word [esi + 0x144], bx
mov eax, dword [esi + 0x14c]
mov byte [eax], 0
mov eax, dword [esi + 0x14c]
mov byte [eax + 1], 4
movzx edx, word [esi + 0x144]
mov eax, dword [esi + 0x14c]
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov eax, dword [esi + 0x14c]
mov byte [eax + 3], dl
lea eax, [esi + 0xb0]
push dword [esi + 0x130]
push eax
push 0
push 4
push dword [esi + 0x14c]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
js 0x10044f75
mov eax, dword [esi + 0x13c]
xor ecx, ecx
add eax, 4
cmp dword [esi + 0x134], eax
lea eax, [esi + 0x28]
push eax
setl cl
lea ecx, [ecx*2 + 1]
mov dword [esi], ecx
call fcn.100516be
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
push ebx
push str.Received_unexpected_DATA_packet_block__d__expecting_block__d
push edi
call fcn.1000ff60
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov word [esi + 0x144], ax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x14c]
mov byte [eax], 0
mov eax, dword [esi + 0x14c]
mov byte [eax + 1], 4
movzx edx, word [esi + 0x144]
mov eax, dword [esi + 0x14c]
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov eax, dword [esi + 0x14c]
mov byte [eax + 3], dl
lea eax, [esi + 0xb0]
push dword [esi + 0x130]
push eax
push 0
push 4
push dword [esi + 0x14c]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
js 0x10044f75
lea eax, [esi + 0x28]
mov dword [esi], 1
push eax
call fcn.100516be
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x144]
inc dword [esi + 0x18]
inc eax
push dword [esi + 0x18]
and eax, 0xffff
push eax
push str.Timeout_waiting_for_block__d_ACK.__Retries___d
push edi
call fcn.1000ff60
mov eax, dword [esi + 0x18]
add esp, 0x10
cmp eax, dword [esi + 0x20]
jle 0x10044f4d
pop edi
mov dword [esi + 8], 0xffffff9d
xor eax, eax
mov dword [esi], 3
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esi + 0x130]
lea eax, [esi + 0xb0]
push eax
push 0
push 4
push dword [esi + 0x14c]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jns 0x10044fff
push pe_nt_image_headers32
lea eax, [ebp - 0x100]
push eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call fcn.100419a0
push eax
push 0x1006930c
push edi
call fcn.1000fec0
add esp, 0x18
mov eax, 0x37
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14c]
mov byte [eax], 0
mov eax, dword [esi + 0x14c]
mov byte [eax + 1], 5
movzx edx, word [esi + 0x144]
mov eax, dword [esi + 0x14c]
mov ecx, edx
shr ecx, 8
mov byte [eax + 2], cl
mov eax, dword [esi + 0x14c]
mov byte [eax + 3], dl
lea eax, [esi + 0xb0]
push dword [esi + 0x130]
push eax
push 0
push 4
push dword [esi + 0x14c]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
mov dword [esi], 3
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str.tftp_rx:_internal_error
push 0x1006930c
push edi
call fcn.1000fec0
add esp, 0xc
mov eax, 0x47
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret