// File: /workspace/github_c_makefile_star2_O3/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 0x6264
leaq 0x818(%rbx), %rdi
movq %rsp, %r14
leaq 0x100(%rsp), %rdx
movq %r14, %rsi
movl $0x20, %ecx
callq 0x499a
movq %r14, %rdi
callq 0x4a1a
movl $0x504c4548, %eax       # imm = 0x504C4548
xorl (%r14), %eax
movzbl 0x4(%r14), %ecx
orl %eax, %ecx
je 0x6283
movl $0x53414d55, %eax       # imm = 0x53414D55
xorl (%rsp), %eax
movzwl 0x4(%rsp), %ecx
xorl $0x4b, %ecx
orl %eax, %ecx
je 0x6297
movl $0x4f4d4843, %eax       # imm = 0x4F4D4843
xorl (%rsp), %eax
movzwl 0x4(%rsp), %ecx
xorl $0x44, %ecx
orl %eax, %ecx
je 0x6324
leaq 0x25bf(%rip), %rdx      # 0x881e
jmp 0x63ee
leaq 0x25b3(%rip), %rdx      # 0x881e
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
jmp 0x4cf4
leaq 0x25b5(%rip), %rdx      # 0x883f
movq %rbx, %rdi
movl $0xd6, %esi
jmp 0x63f6
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 0x63b6
leaq 0x100(%rsp), %rdi
callq 0x4a4f
movl %eax, %ebp
leaq 0x29b7(%rip), %rdi      # 0x8cb5
movl %eax, %esi
xorl %eax, %eax
callq 0x31c0
movl %ebp, %edi
callq 0x3330
leaq 0x2555(%rip), %rsi      # 0x886a
leaq 0x80(%rsp), %rdi
movl %ebp, %edx
jmp 0x63ce
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 0x499a
cmpl $0x2, %eax
jne 0x63e7
leaq 0x80(%rsp), %rdi
callq 0x4a4f
leaq 0x180(%rsp), %rdi
movl %eax, %esi
callq 0x3400
cmpl $-0x1, %eax
je 0x6407
leaq 0x24ff(%rip), %rdx      # 0x88b3
jmp 0x63dd
leaq 0x5f2b(%rip), %rax      # 0xc2e8
movl (%rax), %edx
leaq 0x248a(%rip), %rsi      # 0x8850
leaq 0x80(%rsp), %rdi
xorl %eax, %eax
callq 0x34d0
leaq 0x80(%rsp), %rdx
movq %rbx, %rdi
movl $0xc8, %esi
jmp 0x63f6
leaq 0x248c(%rip), %rdx      # 0x887a
movq %rbx, %rdi
movl $0x1f4, %esi            # imm = 0x1F4
callq 0x4cf4
addq $0x200, %rsp            # imm = 0x200
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x248a(%rip), %rdx      # 0x8898
movq %rbx, %rdi
movl $0x226, %esi            # imm = 0x226
jmp 0x63f6