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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov ebx, eax
mov eax, dword [eax + 0x10]
mov esi, dword [eax]
mov eax, dword [ebx]
cmp eax, 1
je 0x429cb8
jb 0x429c6c
cmp eax, 2
je 0x429cc8
cmp eax, 3
je 0x429c94
mov dword [esp + 8], str.Internal_state_machine_error
mov dword [esp + 4], 0x5aa18a
mov dword [esp], esi
call fcn.0040dcf0
mov eax, 0x47
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esi + 0x31c]
test eax, eax
jne 0x429cd8
mov ebp, str.octet
cmp edx, 7
jbe switch.0x00429ce2
mov dword [esp + 4], str.tftp_send_first:_internal_error
mov dword [esp], esi
call fcn.0040dcf0
xor eax, eax
jmp 0x429c62
mov dword [esp + 8], str.TFTP_finished
mov dword [esp + 4], 0x5aa240
mov dword [esp], esi
call fcn.0040e21c
xor eax, eax
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
call fcn.00428ff0
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, ebx
call fcn.00429574
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, str.netascii
cmp edx, 7
ja case.0x429ce2.1
jmp dword [edx*4 + 0x5aa374]
mov edx, 6
mov eax, ebx
mov ecx, dword [esi + 0x354]
test ecx, ecx
je 0x429d1f
call fcn.00429934
jmp 0x429c62
mov dword [ebx], 3
xor eax, eax
jmp 0x429c62
mov edx, 3
mov eax, ebx
call fcn.00429524
jmp 0x429c62
mov edx, 4
mov eax, ebx
jmp 0x429cfd
mov eax, dword [ebx + 0x18]
inc eax
mov dword [ebx + 0x18], eax
cmp eax, dword [ebx + 0x20]
jg 0x429fe4
mov eax, dword [esi + 0x354]
test eax, eax
mov eax, dword [ebx + 0x150]
mov byte [eax], 0
mov eax, dword [ebx + 0x150]
je 0x429ff8
mov byte [eax + 1], 2
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov edx, dword [ebx + 0x150]
add edx, 4
mov dword [eax + 0x14c], edx
mov edx, dword [esi + 0x8780]
mov eax, dword [esi + 0x8784]
mov ecx, edx
and ecx, eax
inc ecx
je 0x429da0
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00419a00
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebx + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0x8754]
inc eax
mov dword [esp + 4], eax
mov dword [esp], esi
call sym.curl.exe_curl_easy_unescape
mov dword [esp + 0x2c], eax
test eax, eax
je 0x42a001
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._s_c_s_c
mov eax, dword [ebx + 0x144]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x150]
add eax, 2
mov dword [esp], eax
call sym.curl.exe_curl_msnprintf
mov edx, 0xffffffff
xor eax, eax
mov ecx, edx
mov edi, dword [esp + 0x2c]
repne scasb al, byte es:[edi]
mov dword [esp + 0x28], ecx
mov ecx, edx
mov edi, ebp
repne scasb al, byte es:[edi]
neg dword [esp + 0x28]
sub dword [esp + 0x28], ecx
mov edi, dword [esi + 0x354]
test edi, edi
je 0x42a00b
mov edx, dword [esi + 0x8780]
mov eax, dword [esi + 0x8784]
mov ecx, edx
and ecx, eax
inc ecx
je 0x42a00b
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0x5aa307
mov dword [esp + 4], 0x40
lea ebp, [esp + 0x30]
mov dword [esp], ebp
call sym.curl.exe_curl_msnprintf
mov ecx, dword [esp + 0x28]
add ecx, dword [ebx + 0x150]
mov eax, dword [ebx + 0x144]
mov dword [esp], str.tsize
mov edx, dword [esp + 0x28]
call fcn.00429be8
mov edi, dword [esp + 0x28]
add edi, eax
mov ecx, dword [ebx + 0x150]
add ecx, edi
mov eax, dword [ebx + 0x144]
mov dword [esp], ebp
mov edx, edi
call fcn.00429be8
add edi, eax
mov eax, dword [ebx + 0x148]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x5aa313
mov dword [esp + 4], 0x40
mov dword [esp], ebp
call sym.curl.exe_curl_msnprintf
mov ecx, dword [ebx + 0x150]
add ecx, edi
mov eax, dword [ebx + 0x144]
mov dword [esp], str.blksize
mov edx, edi
call fcn.00429be8
add edi, eax
mov ecx, dword [ebx + 0x150]
add ecx, edi
mov eax, dword [ebx + 0x144]
mov dword [esp], ebp
mov edx, edi
call fcn.00429be8
add edi, eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x5aa313
mov dword [esp + 4], 0x40
mov dword [esp], ebp
call sym.curl.exe_curl_msnprintf
mov ecx, dword [ebx + 0x150]
add ecx, edi
mov eax, dword [ebx + 0x144]
mov dword [esp], 0x5aa31e
mov edx, edi
call fcn.00429be8
add edi, eax
mov ecx, dword [ebx + 0x150]
add ecx, edi
mov eax, dword [ebx + 0x144]
mov dword [esp], ebp
mov edx, edi
call fcn.00429be8
mov edx, dword [ebx + 0x10]
mov edx, dword [edx + 0x4c]
add edi, eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov eax, dword [ebx + 0x150]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
call sub.WS2_32.dll_sendto
sub esp, 0x18
cmp edi, eax
je 0x429fce
call sub.WS2_32.dll_WSAGetLastError
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.0040227c
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5aa18a
mov dword [esp], esi
call fcn.0040dcf0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call dword [0x59b00c]
xor eax, eax
jmp 0x429c62
mov dword [ebx + 8], 0xffffff9e
mov dword [ebx], 3
xor eax, eax
jmp 0x429c62
mov byte [eax + 1], 1
jmp 0x429da0
mov eax, 0x1b
jmp 0x429c62
mov word [esp + 0x30], 0x30
lea ebp, [esp + 0x30]
jmp 0x429e79