void FUN_00404520(int param_1,int param_2)
{
undefined4 *puVar1;
int iVar2;
if (*(int *)(param_1 + 0x18) == 0) {
if (((param_2 == 0) && (DAT_0041bca0 == '\0')) && ((*(ushort *)(param_1 + 10) & 0x80) == 0)) {
iVar2 = *(int *)(param_1 + 0xc);
if (iVar2 == 0) {
iVar2 = *(int *)(param_1 + 0x10);
puVar1 = (undefined4 *)(param_1 + 0x1c);
}
else {
puVar1 = (undefined4 *)(param_1 + 0x1c);
}
}
else {
puVar1 = &DAT_00409e30;
iVar2 = -1;
}
raw_packet(param_1,server_config,0x43,iVar2,0x44,puVar1,DAT_0041bc54);
return;
}
kernel_packet(param_1,server_config,0x43,*(int *)(param_1 + 0x18),0x43);
return;
}