// File: /workspace/github_cpp_makefile_star2_O3/girdhari9[P]mTORRENT/ClientServer.cpp
// Function: UpdateLogFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void UpdateLogFile(string ClientLog){
	ifstream TrackerFile(ClientLog, ifstream::binary);
	string detail;
    if (TrackerFile.is_open()){
    	while( getline(TrackerFile,detail) ){
    		stringstream Log(detail); // Used for breaking words 
            string mtorrentfilename,SHA,FilePath; // to store individual words 
        	Log >> mtorrentfilename;
            UpdateLog.push_back(mtorrentfilename);
	        Log >> SHA;
	        UpdateLog.push_back(SHA);
	        Log >> FilePath;
	        UpdateLog.push_back(FilePath);
    	}
    	TrackerFile.close();

    	ofstream TrackerFileD(ClientLog, ofstream::binary);
        for(unsigned int i = 0; i < UpdateLog.size(); i += 3){
        	TrackerFileD << UpdateLog[i];
        	TrackerFileD << " ";
        	TrackerFileD << UpdateLog[i+1];
        	TrackerFileD << " ";
        	TrackerFileD << UpdateLog[i+2];
        	TrackerFileD << " ";
        	TrackerFileD << "\n";
        }
        for(unsigned int i = 0; i < CreateLog.size(); i += 3){
        	TrackerFileD << CreateLog[i];
        	TrackerFileD << " ";
        	TrackerFileD << CreateLog[i+1];
        	TrackerFileD << " ";
        	TrackerFileD << CreateLog[i+2];
        	TrackerFileD << " ";
        	TrackerFileD << "\n";
        }
        TrackerFileD.close();
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x498, %rsp            # imm = 0x498
movq %rdi, %rsi
leaq 0x290(%rsp), %rdi
movq %rsi, 0x88(%rsp)
movl $0x4, %edx
callq 0x4540
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x308(%rsp), %rdi
callq 0x40d0
testb %al, %al
je 0x6e59
leaq 0x90(%rsp), %r13
xorl %r12d, %r12d
leaq 0xbe0c(%rip), %r14      # 0x128b0
leaq 0x68(%rsp), %rbx
leaq 0x48(%rsp), %r15
movq 0x290(%rsp), %rax
movq -0x18(%rax), %rdi
leaq 0x290(%rsp), %rbp
addq %rbp, %rdi
movl $0xa, %esi
callq 0x4320
movsbl %al, %edx
movq %rbp, %rdi
leaq 0x8(%rsp), %rsi
callq 0x4610
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x6bf5
movq %r13, %rdi
leaq 0x8(%rsp), %rsi
movl $0x18, %edx
callq 0x4530
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movq %r12, 0x30(%rsp)
movb %r12b, 0x38(%rsp)
leaq 0x78(%rsp), %rbp
movq %rbp, 0x68(%rsp)
movq %r12, 0x70(%rsp)
movb %r12b, 0x78(%rsp)
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %r12, 0x50(%rsp)
movb %r12b, 0x58(%rsp)
movq %r13, %rdi
leaq 0x28(%rsp), %rsi
callq 0x4440
movq %r14, %rdi
leaq 0x28(%rsp), %rsi
callq 0x710a
movq %r13, %rdi
movq %rbx, %rsi
callq 0x4440
movq %r14, %rdi
movq %rbx, %rsi
callq 0x710a
movq %r13, %rdi
movq %r15, %rsi
callq 0x4440
movq %r14, %rdi
movq %r15, %rsi
callq 0x710a
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x6ba1
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x4350
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6bb8
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x4350
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6bd4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x4350
movq %r13, %rdi
movq 0xb3ca(%rip), %rsi      # 0x11fa8
callq 0x4270
leaq 0x110(%rsp), %rdi
callq 0x4160
jmp 0x6aae
leaq 0x290(%rsp), %rdi
callq 0x40c0
leaq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl $0x4, %edx
callq 0x4650
movq 0xbc8d(%rip), %rax      # 0x128b0
cmpq %rax, 0xbc8e(%rip)      # 0x128b8
je 0x6d0a
movl $0x1, %r12d
xorl %ecx, %ecx
leaq 0x90(%rsp), %rbx
leaq 0x648c(%rip), %r14      # 0xd0d3
leaq 0x6798(%rip), %r15      # 0xd3e6
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %rbx, %rdi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x43c0
movl %r12d, %eax
movq 0xbc33(%rip), %rcx      # 0x128b0
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
movq %rbx, %rdi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x43c0
leal 0x1(%r12), %eax
movq 0xbc02(%rip), %rcx      # 0x128b0
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
movq %rbx, %rdi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x43c0
leal 0x2(%r12), %ecx
movq 0xbbc9(%rip), %rdx      # 0x128b8
movq 0xbbba(%rip), %rax      # 0x128b0
subq %rax, %rdx
sarq $0x5, %rdx
addl $0x3, %r12d
cmpq %rcx, %rdx
ja 0x6c4e
movq 0xbb87(%rip), %rax      # 0x12898
cmpq %rax, 0xbb88(%rip)      # 0x128a0
je 0x6df8
movl $0x1, %r12d
xorl %ecx, %ecx
leaq 0x90(%rsp), %rbx
leaq 0x639e(%rip), %r14      # 0xd0d3
leaq 0x66aa(%rip), %r15      # 0xd3e6
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %rbx, %rdi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x43c0
movl %r12d, %eax
movq 0xbb2d(%rip), %rcx      # 0x12898
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
movq %rbx, %rdi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x43c0
leal 0x1(%r12), %eax
movq 0xbafc(%rip), %rcx      # 0x12898
shlq $0x5, %rax
movq (%rcx,%rax), %rsi
movq 0x8(%rcx,%rax), %rdx
movq %rbx, %rdi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x43c0
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x43c0
leal 0x2(%r12), %ecx
movq 0xbac3(%rip), %rdx      # 0x128a0
movq 0xbab4(%rip), %rax      # 0x12898
subq %rax, %rdx
sarq $0x5, %rdx
addl $0x3, %r12d
cmpq %rcx, %rdx
ja 0x6d3c
leaq 0x90(%rsp), %rdi
callq 0x4490
movq 0xb1bc(%rip), %rax      # 0x11fc8
movq (%rax), %rcx
movq 0x18(%rax), %rax
leaq 0x98(%rsp), %rdi
movq %rcx, -0x8(%rdi)
movq -0x18(%rcx), %rcx
movq %rax, 0x90(%rsp,%rcx)
callq 0x42d0
leaq 0x188(%rsp), %rdi
callq 0x4160
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x6e59
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4350
leaq 0x290(%rsp), %rdi
callq 0x40f0
addq $0x498, %rsp            # imm = 0x498
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6e8a
jmp 0x6e80
jmp 0x6e80
jmp 0x6e80
movq %rax, %rbx
jmp 0x6f0f
jmp 0x6e8a
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x44d0
jmp 0x6f0f
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x6ebb
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x4350
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6ed2
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x4350
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x6eee
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x4350
movq 0xb0b3(%rip), %rsi      # 0x11fa8
leaq 0x90(%rsp), %rdi
callq 0x4270
leaq 0x110(%rsp), %rdi
callq 0x4160
leaq 0x18(%rsp), %rax
movq 0x8(%rsp), %rdi
cmpq %rax, %rdi
je 0x6f2b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4350
leaq 0x290(%rsp), %rdi
callq 0x40f0
movq %rbx, %rdi
callq 0x45d0