// File: /workspace/github_c_makefile_star2_O0/ulisses[P]ftp-client-server/clientec2.c
// Function: trataPedido
Datagrama* trataPedido(char *pedido){
	if(strstr(pedido, "dir") && strstr(pedido, "get")==NULL){
	Datagrama *novo = initDatagrama();
	novo->flags = (FL_DIR);
	//strcpy(novo->data, "dir.cmd");
	novo->len = strlen("dir.cmd");
	novo->win_size = 1;
	return novo;
	}
	if(strstr(pedido, "get")){
	Datagrama *novo = initDatagrama();
	char ptr[5];
	novo->flags = (FL_GET);
	sscanf(pedido, "%s %s", ptr, novo->data);
	novo->len = strlen(novo->data);
	novo->win_size = 1;
	return novo;
	}
	if(strstr(pedido, "wait")){
	Datagrama *novo = initDatagrama();
	novo->flags = (FL_GET);
	strcpy(novo->data, "wait");
	novo->len = strlen(novo->data);
	novo->win_size = 1;
	return novo;
	}
	if(strstr(pedido, "put")){
	Datagrama *novo = initDatagrama();
	char ptr[5];
	novo->flags = (FL_PUT);
	sscanf(pedido, "%s %s", ptr, novo->data);
	novo->len = strlen(novo->data);
	novo->win_size = 1;
	return novo;
	}
	
	else return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x79e(%rip), %rsi       # 0x3125
callq 0x11f0
cmpq $0x0, %rax
je 0x29df
movq -0x10(%rbp), %rdi
leaq 0x78c(%rip), %rsi       # 0x3129
callq 0x11f0
cmpq $0x0, %rax
jne 0x29df
callq 0x1720
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movl $0x20, 0x10(%rax)
movq -0x18(%rbp), %rax
movl $0x7, 0x8(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0xc(%rax)
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b39
movq -0x10(%rbp), %rdi
leaq 0x73f(%rip), %rsi       # 0x3129
callq 0x11f0
cmpq $0x0, %rax
je 0x2a55
callq 0x1720
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movl $0x8, 0x10(%rax)
movq -0x10(%rbp), %rdi
leaq -0x25(%rbp), %rdx
movq -0x20(%rbp), %rcx
addq $0x18, %rcx
leaq 0x70d(%rip), %rsi       # 0x312d
movb $0x0, %al
callq 0x1140
movq -0x20(%rbp), %rdi
addq $0x18, %rdi
callq 0x1070
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x20(%rbp), %rax
movl $0x1, 0xc(%rax)
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b39
movq -0x10(%rbp), %rdi
leaq 0x6d3(%rip), %rsi       # 0x3133
callq 0x11f0
cmpq $0x0, %rax
je 0x2abe
callq 0x1720
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movl $0x8, 0x10(%rax)
movq -0x30(%rbp), %rdi
addq $0x18, %rdi
leaq 0x6a5(%rip), %rsi       # 0x3133
callq 0x1050
movq -0x30(%rbp), %rdi
addq $0x18, %rdi
callq 0x1070
movl %eax, %ecx
movq -0x30(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x30(%rbp), %rax
movl $0x1, 0xc(%rax)
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b39
movq -0x10(%rbp), %rdi
leaq 0x66f(%rip), %rsi       # 0x3138
callq 0x11f0
cmpq $0x0, %rax
je 0x2b31
callq 0x1720
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movl $0x40, 0x10(%rax)
movq -0x10(%rbp), %rdi
leaq -0x3d(%rbp), %rdx
movq -0x38(%rbp), %rcx
addq $0x18, %rcx
leaq 0x62e(%rip), %rsi       # 0x312d
movb $0x0, %al
callq 0x1140
movq -0x38(%rbp), %rdi
addq $0x18, %rdi
callq 0x1070
movl %eax, %ecx
movq -0x38(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x38(%rbp), %rax
movl $0x1, 0xc(%rax)
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x2b39
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)