/* WARNING: Removing unreachable block (ram,0x00409abc) */
/* WARNING: Removing unreachable block (ram,0x00409adc) */
/* WARNING: Removing unreachable block (ram,0x00409afc) */
void FUN_00409a30(int param_1,int param_2,int param_3,int param_4,uint param_5)
{
byte *pbVar1;
byte *pbVar2;
byte *pbVar3;
uint uVar4;
int iVar5;
iVar5 = 0;
uVar4 = 0;
do {
if ((int)param_5 < 8) {
if ((param_5 & 7) == 0) {
if ((int)param_5 < 1) {
if (param_1 == 1) {
param_5 = 0;
uVar4 = 0xff;
}
else {
param_5 = 0;
uVar4 = 0;
}
}
}
else {
if (param_1 == 0) {
uVar4 = -(1 << (8U - (int)param_5 % 8 & 0x1f));
LAB_00409af0:
uVar4 = uVar4 & 0xff;
}
else {
uVar4 = 0;
if (param_1 == 1) {
uVar4 = (1 << (8U - (int)param_5 % 8 & 0x1f)) - 1;
goto LAB_00409af0;
}
}
param_5 = param_5 - (int)param_5 % 8;
}
}
else {
uVar4 = 0xff;
if (param_1 != 0) {
uVar4 = 0;
}
param_5 = param_5 - 8;
}
pbVar1 = (byte *)(param_2 + iVar5);
pbVar3 = (byte *)(param_3 + iVar5);
pbVar2 = (byte *)(param_4 + iVar5);
iVar5 = iVar5 + 1;
*pbVar3 = (byte)uVar4 & *pbVar1;
*pbVar2 = (byte)uVar4;
if (iVar5 == 0x10) {
return;
}
} while( true );
}