I replaced them. 🤦🏻♂
Because of convention
I tried to decompile it by hand, I believe the result in C for that strncmp call only will be like this.
main:
[P1] MOV qword ptr [RBP + local_108],RSI
[....]
[P2] MOV RAX, 0x336f69646c327b69
[P2] mov qword ptr [RBP - 0x40], RAX
[....]
[P1] MOV RAX,qword ptr [RBP + local_108]
[P1] MOV RAX,qword ptr [RAX + 0x8]
[P1] MOV qword ptr [RBP + local_18],RAX
[P2] LEA RCX,[RBP + -0x40]
[P1] MOV RAX,qword ptr [RBP + local_18]
[....]
[P3] MOV EDX,0x22
[....]
[P2] MOV RSI,RCX
[P1] MOV RDI,RAX
CALL strncmp
[P1] is where param1 of strncmp came from.
[P2] is where param2 of strncmp came from.
[P3] is where param3 of strncmp came from.
————————
int main(int edi, char **rsi) {
uint64_t rbp_0x40 = 0x336f69646c327b69;
strncmp(*(rsi + 1), (char *)&rbp_0x40, 0x22);
}