// File: /workspace/github_c_makefile_star2_O1/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, 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)
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)
cmpb $0x0, 0x818(%rdi)
je 0x631f
leaq 0x818(%rbx), %rdi
movq %rsp, %r14
leaq 0x100(%rsp), %rdx
movq %r14, %rsi
movl $0x20, %ecx
callq 0x49f2
movq %r14, %rdi
callq 0x4a72
movl $0x504c4548, %eax       # imm = 0x504C4548
xorl (%r14), %eax
movzbl 0x4(%r14), %ecx
orl %eax, %ecx
je 0x633e
movl $0x53414d55, %eax       # imm = 0x53414D55
xorl (%rsp), %eax
movzwl 0x4(%rsp), %ecx
xorl $0x4b, %ecx
orl %eax, %ecx
je 0x6352
movl $0x4f4d4843, %eax       # imm = 0x4F4D4843
xorl (%rsp), %eax
movzwl 0x4(%rsp), %ecx
xorl $0x44, %ecx
orl %eax, %ecx
je 0x63df
leaq 0x2508(%rip), %rdx      # 0x8822
jmp 0x64a9
leaq 0x24fc(%rip), %rdx      # 0x8822
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
jmp 0x4d4c
leaq 0x24fe(%rip), %rdx      # 0x8843
movq %rbx, %rdi
movl $0xd6, %esi
jmp 0x64b1
xorps %xmm0, %xmm0
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, 0x100(%rsp)
je 0x6471
leaq 0x100(%rsp), %rdi
callq 0x4aa7
movl %eax, %ebp
leaq 0x2900(%rip), %rdi      # 0x8cb9
movl %eax, %esi
xorl %eax, %eax
callq 0x31c0
movl %ebp, %edi
callq 0x3320
leaq 0x249e(%rip), %rsi      # 0x886e
leaq 0x80(%rsp), %rdi
movl %ebp, %edx
jmp 0x6489
xorps %xmm0, %xmm0
leaq 0x80(%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 0x100(%rsp), %rdi
movl $0x20, %ecx
callq 0x49f2
cmpl $0x2, %eax
jne 0x64a2
leaq 0x80(%rsp), %rdi
callq 0x4aa7
leaq 0x180(%rsp), %rdi
movl %eax, %esi
callq 0x33f0
cmpl $-0x1, %eax
je 0x64c2
leaq 0x2448(%rip), %rdx      # 0x88b7
jmp 0x6498
leaq 0x5e68(%rip), %rax      # 0xc2e0
movl (%rax), %edx
leaq 0x23d3(%rip), %rsi      # 0x8854
leaq 0x80(%rsp), %rdi
xorl %eax, %eax
callq 0x34c0
leaq 0x80(%rsp), %rdx
movq %rbx, %rdi
movl $0xc8, %esi
jmp 0x64b1
leaq 0x23d5(%rip), %rdx      # 0x887e
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
callq 0x4d4c
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x23d3(%rip), %rdx      # 0x889c
movq %rbx, %rdi
movl $0x226, %esi            # imm = 0x226
jmp 0x64b1