// 000bbe80 std::__num_base::_S_format_float /* std::__num_base::_S_format_float(std::ios_base const&, char*, char) */ void std::__num_base::_S_format_float(ios_base *param_1,char *param_2,char param_3) { char *pcVar1; uint uVar2; char *pcVar3; char *pcVar4; uint uVar5; uVar2 = *(uint *)(param_1 + 0xc); pcVar4 = param_2 + 1; *param_2 = '%'; if ((uVar2 & 0x800) != 0) { param_2[1] = '+'; pcVar4 = param_2 + 2; } if ((uVar2 & 0x400) != 0) { *pcVar4 = '#'; pcVar4 = pcVar4 + 1; } uVar5 = uVar2 & 0x104; if (uVar5 == 0x104) { pcVar3 = pcVar4; if (param_3 == '\0') goto LAB_000bbf4e; LAB_000bbf18: *pcVar3 = param_3; pcVar1 = pcVar3 + 2; pcVar4 = pcVar3 + 1; } else { pcVar4[0] = '.'; pcVar4[1] = '*'; pcVar3 = pcVar4 + 2; if (param_3 != '\0') goto LAB_000bbf18; pcVar1 = pcVar4 + 3; pcVar4 = pcVar4 + 2; } if (uVar5 == 4) { *pcVar4 = 'f'; *pcVar1 = '\0'; return; } if (uVar5 == 0x100) { *pcVar4 = (-((uVar2 & 0x4000) == 0) & 0x20U) + 0x45; *pcVar1 = '\0'; return; } if (uVar5 != 0x104) { *pcVar4 = (-((uVar2 & 0x4000) == 0) & 0x20U) + 0x47; *pcVar1 = '\0'; return; } LAB_000bbf4e: *pcVar4 = (-((uVar2 & 0x4000) == 0) & 0x20U) + 0x41; pcVar4[1] = '\0'; return; }