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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x547240]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov ebx, dword [eax]
xor edx, edx
push edi
mov dword [ebp - 0x4c], str.octet
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], edx
cmp dword [ebx + 0x2ec], edx
je 0x4c6035
mov dword [ebp - 0x4c], str.netascii
mov eax, dword [ebp + 8]
sub eax, edx
push 3
pop ecx
je 0x4c608c
sub eax, ecx
je 0x4c6084
dec eax
je 0x4c6080
dec eax
je 0x4c6079
dec eax
je 0x4c6060
dec eax
je 0x4c608c
push str.tftp_send_first:_internal_error
push ebx
call fcn.004ba6cb
pop ecx
jmp 0x4c6286
push 6
cmp dword [ebx + 0x324], edx
je 0x4c6085
mov eax, esi
call fcn.004c5f8e
mov dword [ebp - 0x48], eax
jmp 0x4c6286
mov dword [esi], ecx
jmp 0x4c6287
push 4
jmp 0x4c606a
push ecx
call fcn.004c5fc8
jmp 0x4c6071
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, dword [esi + 0x20]
jle 0x4c60a7
mov dword [esi + 8], 0xffffff9e
mov dword [esi], ecx
xor eax, eax
jmp 0x4c628a
lea edi, [esi + 0x160]
mov eax, edi
cmp dword [ebx + 0x324], edx
je 0x4c60f1
push 2
pop ecx
call fcn.004c5535
mov eax, dword [edi]
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
add eax, 4
mov dword [ecx + 0x114], eax
mov eax, dword [ebx + 0x86e8]
mov ecx, dword [ebx + 0x86ec]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x4c60f9
push ecx
push eax
push ebx
call fcn.004d2e07
add esp, 0xc
jmp 0x4c60f9
xor ecx, ecx
inc ecx
call fcn.004c5535
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x86b8]
push 0
push 0
inc eax
push eax
push ebx
call fcn.004d261e
mov ebx, eax
add esp, 0x10
mov dword [ebp - 0x54], ebx
test ebx, ebx
jne 0x4c6124
push 0x1b
pop eax
jmp 0x4c628a
mov eax, dword [edi]
push 0
push dword [ebp - 0x4c]
add eax, 2
push 0
push ebx
push str._s_c_s_c
push dword [esi + 0x154]
push eax
call fcn.004bdd3a
push ebx
call fcn.004ddcc0
push dword [ebp - 0x4c]
mov ebx, eax
call fcn.004ddcc0
lea ebx, [ebx + eax + 4]
mov eax, dword [ebp - 0x50]
add esp, 0x24
cmp dword [eax + 0x324], 0
je 0x4c6191
mov ecx, dword [eax + 0x86e8]
mov eax, dword [eax + 0x86ec]
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x4c6191
push eax
push ecx
push str._I64d
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.004bdd3a
add esp, 0x14
jmp 0x4c61a1
lea eax, [ebp - 0x44]
push 0x51d3c0
push eax
call fcn.004e3c90
pop ecx
pop ecx
mov eax, dword [edi]
push str.tsize
add eax, ebx
push eax
push ebx
push esi
call fcn.004c5783
add ebx, eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [edi]
add eax, ebx
push eax
push ebx
push esi
call fcn.004c5783
push dword [esi + 0x158]
add ebx, eax
push 0x50f618
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.004bdd3a
mov eax, dword [edi]
push str.blksize
add eax, ebx
push eax
push ebx
push esi
call fcn.004c5783
add ebx, eax
add esp, 0x40
lea eax, [ebp - 0x44]
push eax
mov eax, dword [edi]
add eax, ebx
push eax
push ebx
push esi
call fcn.004c5783
push dword [esi + 0x1c]
add ebx, eax
push 0x50f618
lea eax, [ebp - 0x44]
push 0x40
push eax
call fcn.004bdd3a
mov eax, dword [edi]
push str.timeout
add eax, ebx
push eax
push ebx
push esi
call fcn.004c5783
add ebx, eax
lea eax, [ebp - 0x44]
push eax
mov eax, dword [edi]
add eax, ebx
push eax
push ebx
push esi
call fcn.004c5783
add esp, 0x40
add ebx, eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x4c]
push dword [eax + 0x10]
push dword [eax + 0x18]
push 0
push ebx
push dword [edi]
push dword [esi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, ebx
je 0x4c627d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [esi + 0x10]
call fcn.004bef9f
push eax
push 0x50f82c
push dword [ebp - 0x50]
call fcn.004ba6cb
add esp, 0x14
push dword [ebp - 0x54]
call dword [0x54704c]
pop ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004dea60
leave
ret