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

Disassembly:
sub esp, 0x4c
mov eax, dword [0x100a5688]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x60]
xor edx, edx
mov eax, dword [edi + 0x10]
mov ecx, str.octet
mov ebx, dword [eax]
mov eax, dword [esp + 0x64]
cmp dword [ebx + 0x3bc], edx
mov esi, str.netascii
cmove esi, ecx
push 3
mov ebp, edx
mov dword [esp + 0x18], esi
pop ecx
sub eax, edx
je 0x10041c27
sub eax, ecx
je 0x10041c1e
dec eax
je 0x10041c19
dec eax
je 0x10041c12
dec eax
je 0x10041bfa
dec eax
je 0x10041c27
push str.tftp_send_first:_internal_error
push ebx
call fcn.1003054c
pop ecx
jmp 0x10041e9e
push 6
push edi
cmp dword [ebx + 0x3f4], edx
je 0x10041c20
call fcn.10041510
pop ecx
mov ebp, eax
jmp 0x10041e9e
mov dword [edi], ecx
jmp 0x10041e9f
push 4
push edi
jmp 0x10041c05
push ecx
push edi
call fcn.100414d6
jmp 0x10041c0a
inc dword [edi + 0x18]
mov eax, dword [edi + 0x18]
cmp eax, dword [edi + 0x20]
jle 0x10041c42
mov dword [edi + 8], 0xffffff9e
mov dword [edi], ecx
xor eax, eax
jmp 0x10041ea1
cmp dword [ebx + 0x3f4], edx
je 0x10041cf1
lea esi, [edi + 0x160]
push 2
push esi
call fcn.100414bd
mov eax, dword [edi + 0x10]
pop ecx
mov eax, dword [eax]
pop ecx
mov ecx, dword [esi]
add ecx, 4
mov dword [eax + 0x150], ecx
mov ecx, dword [ebx + 0x4af0]
mov edx, dword [ebx + 0x4af4]
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x10041c8e
push edx
push ecx
push ebx
call fcn.100392fc
add esp, 0xc
mov esi, dword [esp + 0x14]
xor ecx, ecx
push ecx
push ecx
lea eax, [esp + 0x18]
push eax
mov eax, dword [edi + 0x10]
push ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x4ac0]
inc eax
push eax
push ebx
call fcn.1004d01f
mov ebp, eax
add esp, 0x18
test ebp, ebp
jne 0x10041e9f
push esi
call fcn.100596a0
mov esi, dword [edi + 0x154]
push dword [esp + 0x14]
sub esi, eax
add esi, 0xfffffffc
call fcn.100596a0
pop ecx
pop ecx
cmp eax, esi
jbe 0x10041d03
push str.TFTP_file_name_too_long_n
push ebx
call fcn.1003054c
pop ecx
pop ecx
push 0x47
pop eax
jmp 0x10041ea1
lea eax, [edi + 0x160]
push 1
push eax
call fcn.100414bd
pop ecx
pop ecx
jmp 0x10041c92
mov eax, dword [edi + 0x160]
push 0
push dword [esp + 0x18]
add eax, 2
push 0
push dword [esp + 0x1c]
push str._s_c_s_c
push dword [edi + 0x154]
push eax
call fcn.1003af45
push dword [esp + 0x2c]
call fcn.100596a0
push dword [esp + 0x34]
mov esi, eax
call fcn.100596a0
add esi, 4
add esp, 0x24
add esi, eax
cmp dword [ebx + 0x22c], 0
jne 0x10041e54
cmp dword [ebx + 0x3f4], 0
je 0x10041d88
mov ecx, dword [ebx + 0x4af0]
mov edx, dword [ebx + 0x4af4]
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
je 0x10041d88
push edx
push ecx
push str._I64d
lea eax, [esp + 0x24]
push 0x40
push eax
call fcn.1003af45
add esp, 0x14
jmp 0x10041d99
lea eax, [esp + 0x18]
push 0x1009e2fc
push eax
call fcn.1005d8f0
pop ecx
pop ecx
mov eax, dword [edi + 0x160]
push str.tsize
add eax, esi
push eax
push esi
push edi
call fcn.1004154a
add esi, eax
lea eax, [esp + 0x28]
push eax
mov eax, dword [edi + 0x160]
add eax, esi
push eax
push esi
push edi
call fcn.1004154a
push dword [edi + 0x158]
add esi, eax
push 0x10089660
lea eax, [esp + 0x40]
push 0x40
push eax
call fcn.1003af45
mov eax, dword [edi + 0x160]
push str.blksize
add eax, esi
push eax
push esi
push edi
call fcn.1004154a
add esi, eax
add esp, 0x40
lea eax, [esp + 0x18]
push eax
mov eax, dword [edi + 0x160]
add eax, esi
push eax
push esi
push edi
call fcn.1004154a
push dword [edi + 0x1c]
add esi, eax
push 0x10089660
lea eax, [esp + 0x30]
push 0x40
push eax
call fcn.1003af45
mov eax, dword [edi + 0x160]
push str.timeout
add eax, esi
push eax
push esi
push edi
call fcn.1004154a
add esi, eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [edi + 0x160]
add eax, esi
push eax
push esi
push edi
call fcn.1004154a
add esp, 0x40
add esi, eax
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0x54]
push dword [eax + 0x10]
push dword [eax + 0x18]
push 0
push esi
push dword [edi + 0x160]
push dword [edi + 0x14]
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, esi
je 0x10041e94
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [edi + 0x10]
call fcn.1003cb1a
push eax
push 0x1009e300
push ebx
call fcn.1003054c
add esp, 0x14
push dword [esp + 0x10]
call dword [0x100a5344]
pop ecx
mov eax, ebp
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005ae75
add esp, 0x4c
ret