// File: lrq3000[P]rfrb/./src/fileReader.cpp
// Function: FileReader::getRelativePos[abi:cxx11]()
std::string FileReader::getRelativePos()
{
	size_t currentPos = getCurrentAdress();
	double blubb = (double)currentPos*100.0f/(double)getFileSize();
	char t[128];
	sprintf(t,"%16lu/%lu", currentPos, getFileSize());
	std::string out = std::string(t) + "\t\t"+std::to_string(blubb)+"%";
	return out;
}

// Assembly:
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdi, (%rsp)
movq %rdi, %rax
movq %rax, 0x8(%rsp)
movq %rdi, 0x1a0(%rsp)
movq %rsi, 0x198(%rsp)
movq 0x198(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x30320
movq 0x40(%rsp), %rdi
movq %rax, 0x190(%rsp)
movq 0x190(%rsp), %xmm0
movaps 0x9a1e(%rip), %xmm1     # 0x3a020
movaps %xmm1, 0x10(%rsp)
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x9a1d(%rip), %xmm1     # 0x3a030
movaps %xmm1, 0x20(%rsp)
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0xb381(%rip), %xmm1     # 0x3b9b0
mulsd %xmm1, %xmm0
movsd %xmm0, 0x38(%rsp)
callq 0x2fce0
movaps 0x10(%rsp), %xmm3
movaps 0x20(%rsp), %xmm2
movsd 0x38(%rsp), %xmm0
movq 0x40(%rsp), %rdi
movq %rax, %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x188(%rsp)
movq 0x190(%rsp), %rax
movq %rax, 0x48(%rsp)
callq 0x2fce0
movq 0x48(%rsp), %rdx
movq %rax, %rcx
leaq 0xb31f(%rip), %rsi      # 0x3b9b8
xorl %eax, %eax
leaq 0x100(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x60b0
movb $0x0, 0xff(%rsp)
leaq 0x97(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x6760
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0x98(%rsp), %rdi
callq 0x65b0
jmp 0x306e0
leaq 0xb2db(%rip), %rdx      # 0x3b9c2
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x308e0
jmp 0x306fe
movsd 0x188(%rsp), %xmm0
leaq 0x60(%rsp), %rdi
callq 0x30a20
jmp 0x30713
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
leaq 0x60(%rsp), %rdx
callq 0x30930
jmp 0x3072f
movq (%rsp), %rdi
leaq 0xb016(%rip), %rdx      # 0x3b750
leaq 0xd8(%rsp), %rsi
callq 0x308e0
jmp 0x30749
leaq 0xd8(%rsp), %rdi
callq 0x6260
leaq 0x60(%rsp), %rdi
callq 0x6260
leaq 0xb8(%rsp), %rdi
callq 0x6260
leaq 0x98(%rsp), %rdi
callq 0x6260
leaq 0x97(%rsp), %rdi
callq 0x6490
movb $0x1, 0xff(%rsp)
testb $0x1, 0xff(%rsp)
jne 0x3085a
jmp 0x30851
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x30842
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x30835
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x30828
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x3081e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0x6260
leaq 0x60(%rsp), %rdi
callq 0x6260
leaq 0xb8(%rsp), %rdi
callq 0x6260
leaq 0x98(%rsp), %rdi
callq 0x6260
leaq 0x97(%rsp), %rdi
callq 0x6490
jmp 0x30867
movq (%rsp), %rdi
callq 0x6260
movq 0x8(%rsp), %rax
addq $0x1a8, %rsp            # imm = 0x1A8
retq
movq 0x88(%rsp), %rdi
callq 0x6750
nopw %cs:(%rax,%rax)
nop