// File: /workspace/github_c_makefile_star2_O2/icysunlight[P]miniftpd/ftpproto.c
// Function: do_site
void do_site(session_t *sess)
{
    char cmd[128] = {0};
    char arg[128] = {0};
    if ( 0 == strcmp("",sess->arg ))
    {
        ftp_reply(sess,FTP_BADCMD,"Unkown SITE commond.");
        return;
    }
    str_split(sess->arg,cmd,arg,' ');
    str_upper(cmd);

    if ( 0 == strcmp(cmd,"HELP") )
        do_site_help(sess,arg);
    else if ( 0 == strcmp(cmd,"UMASK") )
        do_site_umask(sess,arg);
    else if ( 0 == strcmp(cmd,"CHMOD") )
        do_site_chmod(sess,arg);
    else
        ftp_reply(sess,FTP_BADCMD,"Unkown SITE commond.");
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x200, %rsp            # imm = 0x200
movq %rdi, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x170(%rsp)
movaps %xmm0, 0x160(%rsp)
movaps %xmm0, 0x150(%rsp)
movaps %xmm0, 0x140(%rsp)
movaps %xmm0, 0x130(%rsp)
movaps %xmm0, 0x120(%rsp)
movaps %xmm0, 0x110(%rsp)
movaps %xmm0, 0x100(%rsp)
movaps %xmm0, 0xf0(%rsp)
movaps %xmm0, 0xe0(%rsp)
movaps %xmm0, 0xd0(%rsp)
movaps %xmm0, 0xc0(%rsp)
movaps %xmm0, 0xb0(%rsp)
movaps %xmm0, 0xa0(%rsp)
movaps %xmm0, 0x90(%rsp)
movaps %xmm0, 0x80(%rsp)
cmpb $0x0, 0x818(%rdi)
je 0x5df0
leaq 0x818(%rbx), %rdi
leaq 0x100(%rsp), %r14
leaq 0x80(%rsp), %rdx
pushq $0x20
popq %rcx
movq %r14, %rsi
callq 0x4532
movq %r14, %rdi
callq 0x45ad
leaq 0x1ab0(%rip), %rsi      # 0x784b
pushq $0x5
popq %rdx
movq %r14, %rdi
callq 0x33d0
testl %eax, %eax
je 0x5e0f
leaq 0x1a82(%rip), %rsi      # 0x7833
leaq 0x100(%rsp), %rdi
pushq $0x6
popq %rdx
callq 0x33d0
testl %eax, %eax
je 0x5e23
leaq 0x1a6d(%rip), %rsi      # 0x7839
leaq 0x100(%rsp), %rdi
pushq $0x6
popq %rdx
callq 0x33d0
testl %eax, %eax
je 0x5e92
leaq 0x1a33(%rip), %rdx      # 0x781e
jmp 0x5f46
leaq 0x1a27(%rip), %rdx      # 0x781e
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
jmp 0x489c
leaq 0x1a29(%rip), %rdx      # 0x783f
movq %rbx, %rdi
movl $0xd6, %esi
jmp 0x5f4e
xorps %xmm0, %xmm0
movaps %xmm0, 0x70(%rsp)
movaps %xmm0, 0x60(%rsp)
movaps %xmm0, 0x50(%rsp)
movaps %xmm0, 0x40(%rsp)
movaps %xmm0, 0x30(%rsp)
movaps %xmm0, 0x20(%rsp)
movaps %xmm0, 0x10(%rsp)
movaps %xmm0, (%rsp)
cmpb $0x0, 0x80(%rsp)
je 0x5f18
leaq 0x80(%rsp), %rdi
callq 0x45d8
movl %eax, %ebp
leaq 0x1e44(%rip), %rdi      # 0x7cb5
movl %eax, %esi
xorl %eax, %eax
callq 0x31c0
movl %ebp, %edi
callq 0x3330
leaq 0x19e2(%rip), %rsi      # 0x786a
movq %rsp, %rdi
movl %ebp, %edx
jmp 0x5f2b
xorps %xmm0, %xmm0
movq %rsp, %rsi
movaps %xmm0, 0x70(%rsi)
movaps %xmm0, 0x60(%rsi)
movaps %xmm0, 0x50(%rsi)
movaps %xmm0, 0x40(%rsi)
movaps %xmm0, 0x30(%rsi)
movaps %xmm0, 0x20(%rsi)
movaps %xmm0, 0x10(%rsi)
movaps %xmm0, (%rsi)
leaq 0x180(%rsp), %rdx
movaps %xmm0, 0x70(%rdx)
movaps %xmm0, 0x60(%rdx)
movaps %xmm0, 0x50(%rdx)
movaps %xmm0, 0x40(%rdx)
movaps %xmm0, 0x30(%rdx)
movaps %xmm0, 0x20(%rdx)
movaps %xmm0, 0x10(%rdx)
movaps %xmm0, (%rdx)
leaq 0x80(%rsp), %rdi
pushq $0x20
popq %rcx
callq 0x4532
cmpl $0x2, %eax
jne 0x5f3f
movq %rsp, %rdi
callq 0x45d8
leaq 0x180(%rsp), %rdi
movl %eax, %esi
callq 0x3400
cmpl $-0x1, %eax
je 0x5f5f
leaq 0x199d(%rip), %rdx      # 0x78b3
jmp 0x5f35
leaq 0x53c9(%rip), %rax      # 0xb2e8
movl (%rax), %edx
leaq 0x1928(%rip), %rsi      # 0x7850
movq %rsp, %rdi
xorl %eax, %eax
callq 0x34d0
movq %rsp, %rdx
movq %rbx, %rdi
movl $0xc8, %esi
jmp 0x5f4e
leaq 0x1934(%rip), %rdx      # 0x787a
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
callq 0x489c
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x1932(%rip), %rdx      # 0x7898
movq %rbx, %rdi
movl $0x226, %esi            # imm = 0x226
jmp 0x5f4e