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

Disassembly:
sub esp, 0x154
mov eax, dword [0x5c9040]
xor eax, esp
mov dword [esp + 0x14c], eax
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebp, ebp
mov eax, str.octet
mov esi, str.netascii
push 3
pop ecx
mov ebx, dword [edi + 0x10]
cmp byte [ebx + 0xd7a], 0
cmove esi, eax
mov dword [esp + 0x10], esi
sub edx, ebp
je 0x4a3bd7
sub edx, ecx
je 0x4a3bd1
sub edx, 1
je 0x4a3bc5
sub edx, 1
je 0x4a3bbe
sub edx, 1
je 0x4a3ba4
sub edx, 1
je 0x4a3bd7
push str.tftp_send_first:_internal_error
push ebx
call fcn.0048c1c7
pop ecx
jmp 0x4a3ea1
cmp byte [ebx + 0xd80], 0
mov ecx, edi
push 6
pop edx
jne 0x4a3bca
call fcn.004a3b03
mov ebp, eax
jmp 0x4a3ea2
mov dword [edi], ecx
jmp 0x4a3ea2
push 4
pop edx
mov ecx, edi
call fcn.004a3ac9
jmp 0x4a3bb7
mov edx, ecx
mov ecx, edi
jmp 0x4a3bb2
inc dword [edi + 0x18]
mov eax, dword [edi + 0x18]
cmp eax, dword [edi + 0x20]
jle 0x4a3bf2
mov dword [edi + 8], 0xffffff9e
xor eax, eax
mov dword [edi], ecx
jmp 0x4a3ea4
mov eax, dword [edi + 0x14c]
cmp byte [ebx + 0xd80], 0
mov byte [eax], 0
mov eax, dword [edi + 0x14c]
je 0x4a3c43
mov byte [eax + 1], 2
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14c]
add ecx, 4
mov dword [eax + 0x118], ecx
mov ecx, dword [ebx + 0xc88]
mov eax, ecx
mov edx, dword [ebx + 0xc8c]
and eax, edx
cmp eax, 0xffffffff
je 0x4a3c47
push edx
push ecx
mov ecx, ebx
call fcn.00492fee
add esp, 8
jmp 0x4a3c47
mov byte [eax + 1], 1
push 4
lea eax, [esp + 0x18]
xor edx, edx
push 0
push eax
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0xcb4]
inc ecx
call fcn.00476f38
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x4a3ea2
push esi
call fcn.00520660
mov esi, dword [edi + 0x13c]
pop ecx
push dword [esp + 0x14]
sub esi, eax
sub esi, 4
call fcn.00520660
pop ecx
cmp eax, esi
jbe 0x4a3cae
push str.TFTP_file_name_too_long
push ebx
call fcn.0048c1c7
push dword [esp + 0x1c]
call dword [0x5c9b0c]
add esp, 0xc
push 0x47
pop eax
jmp 0x4a3ea4
mov eax, dword [edi + 0x14c]
push 0
push dword [esp + 0x14]
add eax, 2
push 0
push dword [esp + 0x20]
push str._s_c_s_c
push dword [edi + 0x13c]
push eax
call fcn.00480c51
add esp, 0x1c
push dword [esp + 0x14]
call fcn.00520660
pop ecx
push dword [esp + 0x10]
mov esi, eax
call fcn.00520660
add esi, 4
add esi, eax
cmp byte [ebx + 0x6b0], 0
pop ecx
mov dword [esp + 0x10], esi
jne 0x4a3e52
cmp byte [ebx + 0xd80], 0
je 0x4a3d39
mov ecx, dword [ebx + 0xc88]
mov eax, ecx
mov edx, dword [ebx + 0xc8c]
and eax, edx
cmp eax, 0xffffffff
je 0x4a3d39
push edx
push ecx
push str._lld
lea eax, [esp + 0x24]
push 0x40
push eax
call fcn.00480c51
add esp, 0x14
jmp 0x4a3d4a
lea eax, [esp + 0x18]
push 0x5847fc
push eax
call fcn.00528060
pop ecx
pop ecx
mov eax, dword [edi + 0x14c]
lea edx, [esp + 0x10]
add eax, esi
mov ecx, edi
push str.tsize
push eax
call fcn.004a3a84
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4a3d8a
lea eax, [esp + 0x18]
mov ecx, edi
push eax
mov eax, dword [edi + 0x14c]
lea edx, [esp + 0x14]
add eax, dword [esp + 0x14]
push eax
call fcn.004a3a84
pop ecx
pop ecx
mov esi, eax
push dword [edi + 0x140]
mov ebp, 0x5896f4
lea eax, [esp + 0x1c]
push ebp
push 0x40
push eax
call fcn.00480c51
add esp, 0x10
test esi, esi
jne 0x4a3deb
mov eax, dword [edi + 0x14c]
lea edx, [esp + 0x10]
add eax, dword [esp + 0x10]
mov ecx, edi
push str.blksize
push eax
call fcn.004a3a84
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x4a3deb
lea eax, [esp + 0x18]
mov ecx, edi
push eax
mov eax, dword [edi + 0x14c]
lea edx, [esp + 0x14]
add eax, dword [esp + 0x14]
push eax
call fcn.004a3a84
pop ecx
pop ecx
mov esi, eax
push dword [edi + 0x1c]
lea eax, [esp + 0x1c]
push ebp
push 0x40
push eax
call fcn.00480c51
add esp, 0x10
test esi, esi
jne 0x4a3ebd
mov eax, dword [edi + 0x14c]
lea edx, [esp + 0x10]
add eax, dword [esp + 0x10]
mov ecx, edi
push str.timeout
push eax
call fcn.004a3a84
pop ecx
pop ecx
test eax, eax
jne 0x4a3ebd
lea eax, [esp + 0x18]
mov ecx, edi
push eax
mov eax, dword [edi + 0x14c]
lea edx, [esp + 0x14]
add eax, dword [esp + 0x14]
push eax
call fcn.004a3a84
mov ebp, eax
pop ecx
pop ecx
test ebp, ebp
jne 0x4a3ebd
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x60]
push dword [eax + 0xc]
add eax, 0x10
push eax
push 0
push esi
push dword [edi + 0x14c]
push dword [edi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, esi
je 0x4a3e97
push ecx
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
lea edx, [esp + 0x5c]
mov ecx, eax
call fcn.00477b48
pop ecx
push eax
push 0x585398
push ebx
call fcn.0048c1c7
add esp, 0xc
push dword [esp + 0x14]
call dword [0x5c9b0c]
pop ecx
mov eax, ebp
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0051b034
add esp, 0x154
ret
push str.TFTP_buffer_too_small_for_options
jmp 0x4a3c93