void MSN_error2str(err, message, message_len) int err;
char *message;
int message_len;
{
  char buf[128];
  switch (err) {
  case 200:
    strcpy(buf, "Invalid syntax");
    break;
  case 201:
    strcpy(buf, "Invalid parameter");
    break;
  case 205:
    strcpy(buf, "Invalid principal");
    break;
  case 206:
    strcpy(buf, "Domain name missing");
    break;
  case 207:
    strcpy(buf, "Already logged in");
    break;
  case 208:
    strcpy(buf, "Invalid principal-name");
    break;
  case 209:
    strcpy(buf, "Nickname change illegal");
    break;
  case 210:
    strcpy(buf, "Principal list full");
    break;
  case 215:
    strcpy(buf, "Principal already on list");
    break;
  case 216:
    strcpy(buf, "Principal not on list");
    break;
  case 217:
    strcpy(buf, "Principal not on-line");
    break;
  case 218:
    strcpy(buf, "Already in mode");
    break;
  case 219:
    strcpy(buf, "Principal is in the opposite list");
    break;
  case 280:
    strcpy(buf, "Switchboard failed");
    break;
  case 281:
    strcpy(buf, "Transfer to switchboard failed");
    break;
  case 300:
    strcpy(buf, "Required field missing");
    break;
  case 302:
    strcpy(buf, "Not logged in");
    break;
  case 500:
    strcpy(buf, "Internal server error");
    break;
  case 501:
    strcpy(buf, "Database server error");
    break;
  case 502:
    strcpy(buf, "Command disabled");
    break;
  case 510:
    strcpy(buf, "File operation failed");
    break;
  case 520:
    strcpy(buf, "Memory allocation failed");
    break;
  case 540:
    strcpy(buf, "Challenge response failed");
    break;
  case 602:
    strcpy(buf, "Peer nameserver is down");
    break;
  case 603:
    strcpy(buf, "Database connection failed");
    break;
  case 604:
    strcpy(buf, "Server is going down");
    break;
  case 707:
    strcpy(buf, "Could not create connection");
    break;
  case 710:
    strcpy(buf, "Bad CVR parameters sent");
    break;
  case 711:
    strcpy(buf, "Write is blocking");
    break;
  case 712:
    strcpy(buf, "Session is overloaded");
    break;
  case 714:
    strcpy(buf, "Too many sessions");
    break;
  case 715:
  case 731:
    strcpy(buf, "Not expected");
    break;
  case 717:
    strcpy(buf, "Bad friend file");
    break;
  case 800:
  case 713:
    strcpy(buf, "Changing too rapidly");
    break;
  case 600:
  case 910:
  case 912:
  case 918:
  case 919:
  case 921:
  case 922:
    strcpy(buf, "Server too busy");
    break;
  case 911:
  case 917:
    strcpy(buf, "Autentication failed");
    break;
  case 913:
    strcpy(buf, "Not allowed when hiding");
    break;
  case 914:
  case 915:
  case 916:
  case 605:
  case 601:
    strcpy(buf, "Server unavailable");
    break;
  case 920:
    strcpy(buf, "Not accepting new principals");
    break;
  case 923:
    strcpy(buf, "Kids Passport without parental consent");
    break;
  case 924:
    strcpy(buf, "Passport account not yet verified");
    break;
  case 928:
    strcpy(buf, "Bad ticket");
    break;
  default:
    strcpy(buf, "Unknown error");
    break;
  }
  strncpy(message, buf, message_len);
}


x86 assembly (clang, -O0):
<MSN_error2str>:
push   %rbp
mov    %rsp,%rbp
sub    $0xb0,%rsp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    -0x4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
sub    $0xc8,%eax
je     15a3 <MSN_error2str+0x483>
jmp    114e <MSN_error2str+0x2e>
mov    -0xa4(%rbp),%eax
sub    $0xc9,%eax
je     15bb <MSN_error2str+0x49b>
jmp    1164 <MSN_error2str+0x44>
mov    -0xa4(%rbp),%eax
sub    $0xcd,%eax
je     15d3 <MSN_error2str+0x4b3>
jmp    117a <MSN_error2str+0x5a>
mov    -0xa4(%rbp),%eax
sub    $0xce,%eax
je     15eb <MSN_error2str+0x4cb>
jmp    1190 <MSN_error2str+0x70>
mov    -0xa4(%rbp),%eax
sub    $0xcf,%eax
je     1603 <MSN_error2str+0x4e3>
jmp    11a6 <MSN_error2str+0x86>
mov    -0xa4(%rbp),%eax
sub    $0xd0,%eax
je     161b <MSN_error2str+0x4fb>
jmp    11bc <MSN_error2str+0x9c>
mov    -0xa4(%rbp),%eax
sub    $0xd1,%eax
je     1633 <MSN_error2str+0x513>
jmp    11d2 <MSN_error2str+0xb2>
mov    -0xa4(%rbp),%eax
sub    $0xd2,%eax
je     164b <MSN_error2str+0x52b>
jmp    11e8 <MSN_error2str+0xc8>
mov    -0xa4(%rbp),%eax
sub    $0xd7,%eax
je     1663 <MSN_error2str+0x543>
jmp    11fe <MSN_error2str+0xde>
mov    -0xa4(%rbp),%eax
sub    $0xd8,%eax
je     167b <MSN_error2str+0x55b>
jmp    1214 <MSN_error2str+0xf4>
mov    -0xa4(%rbp),%eax
sub    $0xd9,%eax
je     1693 <MSN_error2str+0x573>
jmp    122a <MSN_error2str+0x10a>
mov    -0xa4(%rbp),%eax
sub    $0xda,%eax
je     16ab <MSN_error2str+0x58b>
jmp    1240 <MSN_error2str+0x120>
mov    -0xa4(%rbp),%eax
sub    $0xdb,%eax
je     16c3 <MSN_error2str+0x5a3>
jmp    1256 <MSN_error2str+0x136>
mov    -0xa4(%rbp),%eax
sub    $0x118,%eax
je     16db <MSN_error2str+0x5bb>
jmp    126c <MSN_error2str+0x14c>
mov    -0xa4(%rbp),%eax
sub    $0x119,%eax
je     16f3 <MSN_error2str+0x5d3>
jmp    1282 <MSN_error2str+0x162>
mov    -0xa4(%rbp),%eax
sub    $0x12c,%eax
je     170b <MSN_error2str+0x5eb>
jmp    1298 <MSN_error2str+0x178>
mov    -0xa4(%rbp),%eax
sub    $0x12e,%eax
je     1723 <MSN_error2str+0x603>
jmp    12ae <MSN_error2str+0x18e>
mov    -0xa4(%rbp),%eax
sub    $0x1f4,%eax
je     173b <MSN_error2str+0x61b>
jmp    12c4 <MSN_error2str+0x1a4>
mov    -0xa4(%rbp),%eax
sub    $0x1f5,%eax
je     1753 <MSN_error2str+0x633>
jmp    12da <MSN_error2str+0x1ba>
mov    -0xa4(%rbp),%eax
sub    $0x1f6,%eax
je     176b <MSN_error2str+0x64b>
jmp    12f0 <MSN_error2str+0x1d0>
mov    -0xa4(%rbp),%eax
sub    $0x1fe,%eax
je     1783 <MSN_error2str+0x663>
jmp    1306 <MSN_error2str+0x1e6>
mov    -0xa4(%rbp),%eax
sub    $0x208,%eax
je     179b <MSN_error2str+0x67b>
jmp    131c <MSN_error2str+0x1fc>
mov    -0xa4(%rbp),%eax
sub    $0x21c,%eax
je     17b3 <MSN_error2str+0x693>
jmp    1332 <MSN_error2str+0x212>
mov    -0xa4(%rbp),%eax
sub    $0x258,%eax
je     18d3 <MSN_error2str+0x7b3>
jmp    1348 <MSN_error2str+0x228>
mov    -0xa4(%rbp),%eax
sub    $0x259,%eax
je     191b <MSN_error2str+0x7fb>
jmp    135e <MSN_error2str+0x23e>
mov    -0xa4(%rbp),%eax
sub    $0x25a,%eax
je     17cb <MSN_error2str+0x6ab>
jmp    1374 <MSN_error2str+0x254>
mov    -0xa4(%rbp),%eax
sub    $0x25b,%eax
je     17e3 <MSN_error2str+0x6c3>
jmp    138a <MSN_error2str+0x26a>
mov    -0xa4(%rbp),%eax
sub    $0x25c,%eax
je     17fb <MSN_error2str+0x6db>
jmp    13a0 <MSN_error2str+0x280>
mov    -0xa4(%rbp),%eax
sub    $0x25d,%eax
je     191b <MSN_error2str+0x7fb>
jmp    13b6 <MSN_error2str+0x296>
mov    -0xa4(%rbp),%eax
sub    $0x2c3,%eax
je     1813 <MSN_error2str+0x6f3>
jmp    13cc <MSN_error2str+0x2ac>
mov    -0xa4(%rbp),%eax
sub    $0x2c6,%eax
je     182b <MSN_error2str+0x70b>
jmp    13e2 <MSN_error2str+0x2c2>
mov    -0xa4(%rbp),%eax
sub    $0x2c7,%eax
je     1843 <MSN_error2str+0x723>
jmp    13f8 <MSN_error2str+0x2d8>
mov    -0xa4(%rbp),%eax
sub    $0x2c8,%eax
je     185b <MSN_error2str+0x73b>
jmp    140e <MSN_error2str+0x2ee>
mov    -0xa4(%rbp),%eax
sub    $0x2c9,%eax
je     18bb <MSN_error2str+0x79b>
jmp    1424 <MSN_error2str+0x304>
mov    -0xa4(%rbp),%eax
sub    $0x2ca,%eax
je     1873 <MSN_error2str+0x753>
jmp    143a <MSN_error2str+0x31a>
mov    -0xa4(%rbp),%eax
sub    $0x2cb,%eax
je     188b <MSN_error2str+0x76b>
jmp    1450 <MSN_error2str+0x330>
mov    -0xa4(%rbp),%eax
sub    $0x2cd,%eax
je     18a3 <MSN_error2str+0x783>
jmp    1466 <MSN_error2str+0x346>
mov    -0xa4(%rbp),%eax
sub    $0x2db,%eax
je     188b <MSN_error2str+0x76b>
jmp    147c <MSN_error2str+0x35c>
mov    -0xa4(%rbp),%eax
sub    $0x320,%eax
je     18bb <MSN_error2str+0x79b>
jmp    1492 <MSN_error2str+0x372>
mov    -0xa4(%rbp),%eax
sub    $0x38e,%eax
je     18d3 <MSN_error2str+0x7b3>
jmp    14a8 <MSN_error2str+0x388>
mov    -0xa4(%rbp),%eax
sub    $0x38f,%eax
je     18eb <MSN_error2str+0x7cb>
jmp    14be <MSN_error2str+0x39e>
mov    -0xa4(%rbp),%eax
sub    $0x390,%eax
je     18d3 <MSN_error2str+0x7b3>
jmp    14d4 <MSN_error2str+0x3b4>
mov    -0xa4(%rbp),%eax
sub    $0x391,%eax
je     1903 <MSN_error2str+0x7e3>
jmp    14ea <MSN_error2str+0x3ca>
mov    -0xa4(%rbp),%eax
add    $0xfffffc6e,%eax
sub    $0x3,%eax
jb     191b <MSN_error2str+0x7fb>
jmp    1503 <MSN_error2str+0x3e3>
mov    -0xa4(%rbp),%eax
sub    $0x395,%eax
je     18eb <MSN_error2str+0x7cb>
jmp    1519 <MSN_error2str+0x3f9>
mov    -0xa4(%rbp),%eax
add    $0xfffffc6a,%eax
sub    $0x2,%eax
jb     18d3 <MSN_error2str+0x7b3>
jmp    1532 <MSN_error2str+0x412>
mov    -0xa4(%rbp),%eax
sub    $0x398,%eax
je     1933 <MSN_error2str+0x813>
jmp    1548 <MSN_error2str+0x428>
mov    -0xa4(%rbp),%eax
add    $0xfffffc67,%eax
sub    $0x2,%eax
jb     18d3 <MSN_error2str+0x7b3>
jmp    1561 <MSN_error2str+0x441>
mov    -0xa4(%rbp),%eax
sub    $0x39b,%eax
je     194b <MSN_error2str+0x82b>
jmp    1577 <MSN_error2str+0x457>
mov    -0xa4(%rbp),%eax
sub    $0x39c,%eax
je     1963 <MSN_error2str+0x843>
jmp    158d <MSN_error2str+0x46d>
mov    -0xa4(%rbp),%eax
sub    $0x3a0,%eax
je     197b <MSN_error2str+0x85b>
jmp    1993 <MSN_error2str+0x873>
lea    -0xa0(%rbp),%rdi
lea    0xa4f(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa46(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa40(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa3a(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa36(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa30(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2f(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2f(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2b(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2d(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2b(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa29(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa21(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2b(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa26(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2d(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa2c(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa22(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa20(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa1e(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa17(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa15(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa16(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa18(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa18(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa1b(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa18(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa1c(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa1c(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa16(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa14(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa0e(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa03(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9fb(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9f8(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9f0(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9ed(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9ed(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9e8(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9ed(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9fc(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0xa06(%rip),%rsi
call   1040 <strcpy@plt>
jmp    19a6 <MSN_error2str+0x886>
lea    -0xa0(%rbp),%rdi
lea    0x9f9(%rip),%rsi
call   1040 <strcpy@plt>
mov    -0x10(%rbp),%rdi
lea    -0xa0(%rbp),%rsi
movslq -0x14(%rbp),%rdx
call   1030 <strncpy@plt>
add    $0xb0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<MSN_error2str>:
sub    $0x88,%rsp
mov    %rsi,%rax
lea    -0x2c3(%rdi),%ecx
cmp    $0xdd,%ecx
jbe    1161 <MSN_error2str+0x51>
lea    -0xc8(%rdi),%ecx
cmp    $0x66,%ecx
ja     1181 <MSN_error2str+0x71>
lea    0xec6(%rip),%rsi
movslq (%rsi,%rcx,4),%rcx
add    %rsi,%rcx
jmp    *%rcx
movabs $0x7861746e797320,%rcx
mov    %rcx,0x7(%rsp)
movabs $0x2064696c61766e49,%rcx
69 64 20
jmp    154b <MSN_error2str+0x43b>
lea    0x11dc(%rip),%rsi
movslq (%rsi,%rcx,4),%rcx
add    %rsi,%rcx
jmp    *%rcx
movups 0x181d(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
add    $0xfffffe0c,%edi
cmp    $0x69,%edi
ja     1532 <MSN_error2str+0x422>
lea    0x1005(%rip),%rcx
movslq (%rcx,%rdi,4),%rsi
add    %rcx,%rsi
jmp    *%rsi
movups 0x182b(%rip),%xmm0
movaps %xmm0,(%rsp)
movl   $0x656c62,0xf(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x17c1(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x796c6469706172,%rcx
mov    %rcx,0xd(%rsp)
jmp    154f <MSN_error2str+0x43f>
movabs $0x64657463657078,%rcx
mov    %rcx,0x5(%rsp)
movabs $0x6570786520746f4e,%rcx
78 70 65
jmp    154b <MSN_error2str+0x43b>
movups 0x17a9(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x64656c69616620,%rcx
mov    %rcx,0xd(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x14b0(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x72,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x14ab(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x6c,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x14a6(%rip),%xmm0
movaps %xmm0,(%rsp)
movl   $0x676e69,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x14a2(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x6e,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x149d(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x656d616e2d6c61,%rcx
mov    %rcx,0xf(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1495(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x6c6167656c6c69,%rcx
mov    %rcx,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x148e(%rip),%xmm0
movaps %xmm0,(%rsp)
movl   $0x6c6c75,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1494(%rip),%xmm0
movups %xmm0,0xa(%rsp)
movups 0x147e(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1488(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x7473696c206e6f,%rcx
mov    %rcx,0xe(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x147f(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x656e696c2d6e6f,%rcx
mov    %rcx,0xe(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1476(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1486(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movups 0x146a(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x74,0x20(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1475(%rip),%xmm0
movaps %xmm0,(%rsp)
movl   $0x64656c,0xf(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x147f(%rip),%xmm0
movups %xmm0,0xf(%rsp)
movups 0x1464(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1473(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x676e697373696d,%rcx
mov    %rcx,0xf(%rsp)
jmp    154f <MSN_error2str+0x43f>
movabs $0x6e692064656767,%rcx
mov    %rcx,0x6(%rsp)
movabs $0x67676f6c20746f4e,%rcx
6f 67 67
jmp    154b <MSN_error2str+0x43b>
movups 0x1535(%rip),%xmm0
movups %xmm0,0xc(%rsp)
movups 0x151d(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1529(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x746e6573207372,%rcx
mov    %rcx,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1522(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x67,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x151d(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x646564616f6c72,%rcx
mov    %rcx,0xe(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1514(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x73,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x151c(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1556(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x676e6964696820,%rcx
mov    %rcx,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x156f(%rip),%xmm0
movups %xmm0,0xd(%rsp)
movups 0x1556(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1573(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movups 0x1557(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x746e65736e6f63,%rcx
mov    %rcx,0x1f(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x156f(%rip),%xmm0
movaps %xmm0,0x10(%rsp)
movups 0x1553(%rip),%xmm0
movaps %xmm0,(%rsp)
movw   $0x64,0x20(%rsp)
jmp    154f <MSN_error2str+0x43f>
movabs $0x6b63697420646142,%rcx
69 63 6b
mov    %rcx,(%rsp)
movl   $0x74656b,0x7(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x1325(%rip),%xmm0
jmp    150b <MSN_error2str+0x3fb>
movups 0x1332(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x726f7272652072,%rcx
mov    %rcx,0xe(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x132c(%rip),%xmm0
movaps %xmm0,(%rsp)
movb   $0x0,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movabs $0x726f727265206e,%rcx
mov    %rcx,0x6(%rsp)
movabs $0x206e776f6e6b6e55,%rcx
77 6e 20
mov    %rcx,(%rsp)
movslq %edx,%rdx
mov    %rsp,%rsi
mov    %rax,%rdi
call   1030 <strncpy@plt>
add    $0x88,%rsp
ret
movups 0x12f8(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x64656c69616620,%rcx
mov    %rcx,0xe(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x12fb(%rip),%xmm0
movups %xmm0,0x9(%rsp)
movups 0x12e6(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x12fc(%rip),%xmm0
movups %xmm0,0xa(%rsp)
movups 0x12e6(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x12f3(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x6e776f64207369,%rcx
mov    %rcx,0x10(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x12fa(%rip),%xmm0
movups %xmm0,0xb(%rsp)
movups 0x12e3(%rip),%xmm0
movaps %xmm0,(%rsp)
jmp    154f <MSN_error2str+0x43f>
movups 0x12ee(%rip),%xmm0
movaps %xmm0,(%rsp)
movabs $0x6e776f6420676e,%rcx
mov    %rcx,0xd(%rsp)
jmp    154f <MSN_error2str+0x43f>

LLVM IR (-O0):
@.str = [15 x i8] c"Invalid syntax\00"
@.str.1 = [18 x i8] c"Invalid parameter\00"
@.str.2 = [18 x i8] c"Invalid principal\00"
@.str.3 = [20 x i8] c"Domain name missing\00"
@.str.4 = [18 x i8] c"Already logged in\00"
@.str.5 = [23 x i8] c"Invalid principal-name\00"
@.str.6 = [24 x i8] c"Nickname change illegal\00"
@.str.7 = [20 x i8] c"Principal list full\00"
@.str.8 = [26 x i8] c"Principal already on list\00"
@.str.9 = [22 x i8] c"Principal not on list\00"
@.str.10 = [22 x i8] c"Principal not on-line\00"
@.str.11 = [16 x i8] c"Already in mode\00"
@.str.12 = [34 x i8] c"Principal is in the opposite list\00"
@.str.13 = [19 x i8] c"Switchboard failed\00"
@.str.14 = [31 x i8] c"Transfer to switchboard failed\00"
@.str.15 = [23 x i8] c"Required field missing\00"
@.str.16 = [14 x i8] c"Not logged in\00"
@.str.17 = [22 x i8] c"Internal server error\00"
@.str.18 = [22 x i8] c"Database server error\00"
@.str.19 = [17 x i8] c"Command disabled\00"
@.str.20 = [22 x i8] c"File operation failed\00"
@.str.21 = [25 x i8] c"Memory allocation failed\00"
@.str.22 = [26 x i8] c"Challenge response failed\00"
@.str.23 = [24 x i8] c"Peer nameserver is down\00"
@.str.24 = [27 x i8] c"Database connection failed\00"
@.str.25 = [21 x i8] c"Server is going down\00"
@.str.26 = [28 x i8] c"Could not create connection\00"
@.str.27 = [24 x i8] c"Bad CVR parameters sent\00"
@.str.28 = [18 x i8] c"Write is blocking\00"
@.str.29 = [22 x i8] c"Session is overloaded\00"
@.str.30 = [18 x i8] c"Too many sessions\00"
@.str.31 = [13 x i8] c"Not expected\00"
@.str.32 = [16 x i8] c"Bad friend file\00"
@.str.33 = [21 x i8] c"Changing too rapidly\00"
@.str.34 = [16 x i8] c"Server too busy\00"
@.str.35 = [21 x i8] c"Autentication failed\00"
@.str.36 = [24 x i8] c"Not allowed when hiding\00"
@.str.37 = [19 x i8] c"Server unavailable\00"
@.str.38 = [29 x i8] c"Not accepting new principals\00"
@.str.39 = [39 x i8] c"Kids Passport without parental consent\00"
@.str.40 = [34 x i8] c"Passport account not yet verified\00"
@.str.41 = [11 x i8] c"Bad ticket\00"
@.str.42 = [14 x i8] c"Unknown error\00"
define void @MSN_error2str(i32 %0, i8* %1, i32 %2) {
%4 = alloca i32
%5 = alloca i8*
%6 = alloca i32
%7 = alloca [128 x i8]
store i32 %0, i32* %4
store i8* %1, i8** %5
store i32 %2, i32* %6
%8 = load i32, i32* %4
switch i32 %8, label %135 [
i32 200, label %9
i32 201, label %12
i32 205, label %15
i32 206, label %18
i32 207, label %21
i32 208, label %24
i32 209, label %27
i32 210, label %30
i32 215, label %33
i32 216, label %36
i32 217, label %39
i32 218, label %42
i32 219, label %45
i32 280, label %48
i32 281, label %51
i32 300, label %54
i32 302, label %57
i32 500, label %60
i32 501, label %63
i32 502, label %66
i32 510, label %69
i32 520, label %72
i32 540, label %75
i32 602, label %78
i32 603, label %81
i32 604, label %84
i32 707, label %87
i32 710, label %90
i32 711, label %93
i32 712, label %96
i32 714, label %99
i32 715, label %102
i32 731, label %102
i32 717, label %105
i32 800, label %108
i32 713, label %108
i32 600, label %111
i32 910, label %111
i32 912, label %111
i32 918, label %111
i32 919, label %111
i32 921, label %111
i32 922, label %111
i32 911, label %114
i32 917, label %114
i32 913, label %117
i32 914, label %120
i32 915, label %120
i32 916, label %120
i32 605, label %120
i32 601, label %120
i32 920, label %123
i32 923, label %126
i32 924, label %129
i32 928, label %132
]
9: ; preds = %3
%10 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%11 = call i8* @strcpy(i8* %10, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str, i64 0, i64 0))
br label %138
12: ; preds = %3
%13 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%14 = call i8* @strcpy(i8* %13, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.1, i64 0, i64 0))
br label %138
15: ; preds = %3
%16 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%17 = call i8* @strcpy(i8* %16, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.2, i64 0, i64 0))
br label %138
18: ; preds = %3
%19 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%20 = call i8* @strcpy(i8* %19, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.3, i64 0, i64 0))
br label %138
21: ; preds = %3
%22 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%23 = call i8* @strcpy(i8* %22, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.4, i64 0, i64 0))
br label %138
24: ; preds = %3
%25 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%26 = call i8* @strcpy(i8* %25, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.5, i64 0, i64 0))
br label %138
27: ; preds = %3
%28 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%29 = call i8* @strcpy(i8* %28, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.6, i64 0, i64 0))
br label %138
30: ; preds = %3
%31 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%32 = call i8* @strcpy(i8* %31, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.7, i64 0, i64 0))
br label %138
33: ; preds = %3
%34 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%35 = call i8* @strcpy(i8* %34, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.8, i64 0, i64 0))
br label %138
36: ; preds = %3
%37 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%38 = call i8* @strcpy(i8* %37, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.9, i64 0, i64 0))
br label %138
39: ; preds = %3
%40 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%41 = call i8* @strcpy(i8* %40, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.10, i64 0, i64 0))
br label %138
42: ; preds = %3
%43 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%44 = call i8* @strcpy(i8* %43, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.11, i64 0, i64 0))
br label %138
45: ; preds = %3
%46 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%47 = call i8* @strcpy(i8* %46, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.12, i64 0, i64 0))
br label %138
48: ; preds = %3
%49 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%50 = call i8* @strcpy(i8* %49, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.13, i64 0, i64 0))
br label %138
51: ; preds = %3
%52 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%53 = call i8* @strcpy(i8* %52, i8* getelementptr inbounds ([31 x i8], [31 x i8]* @.str.14, i64 0, i64 0))
br label %138
54: ; preds = %3
%55 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%56 = call i8* @strcpy(i8* %55, i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.15, i64 0, i64 0))
br label %138
57: ; preds = %3
%58 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%59 = call i8* @strcpy(i8* %58, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.16, i64 0, i64 0))
br label %138
60: ; preds = %3
%61 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%62 = call i8* @strcpy(i8* %61, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.17, i64 0, i64 0))
br label %138
63: ; preds = %3
%64 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%65 = call i8* @strcpy(i8* %64, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.18, i64 0, i64 0))
br label %138
66: ; preds = %3
%67 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%68 = call i8* @strcpy(i8* %67, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.19, i64 0, i64 0))
br label %138
69: ; preds = %3
%70 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%71 = call i8* @strcpy(i8* %70, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.20, i64 0, i64 0))
br label %138
72: ; preds = %3
%73 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%74 = call i8* @strcpy(i8* %73, i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.21, i64 0, i64 0))
br label %138
75: ; preds = %3
%76 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%77 = call i8* @strcpy(i8* %76, i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.22, i64 0, i64 0))
br label %138
78: ; preds = %3
%79 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%80 = call i8* @strcpy(i8* %79, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.23, i64 0, i64 0))
br label %138
81: ; preds = %3
%82 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%83 = call i8* @strcpy(i8* %82, i8* getelementptr inbounds ([27 x i8], [27 x i8]* @.str.24, i64 0, i64 0))
br label %138
84: ; preds = %3
%85 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%86 = call i8* @strcpy(i8* %85, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.25, i64 0, i64 0))
br label %138
87: ; preds = %3
%88 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%89 = call i8* @strcpy(i8* %88, i8* getelementptr inbounds ([28 x i8], [28 x i8]* @.str.26, i64 0, i64 0))
br label %138
90: ; preds = %3
%91 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%92 = call i8* @strcpy(i8* %91, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.27, i64 0, i64 0))
br label %138
93: ; preds = %3
%94 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%95 = call i8* @strcpy(i8* %94, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.28, i64 0, i64 0))
br label %138
96: ; preds = %3
%97 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%98 = call i8* @strcpy(i8* %97, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.29, i64 0, i64 0))
br label %138
99: ; preds = %3
%100 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%101 = call i8* @strcpy(i8* %100, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0))
br label %138
102: ; preds = %3, %3
%103 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%104 = call i8* @strcpy(i8* %103, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.31, i64 0, i64 0))
br label %138
105: ; preds = %3
%106 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%107 = call i8* @strcpy(i8* %106, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.32, i64 0, i64 0))
br label %138
108: ; preds = %3, %3
%109 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%110 = call i8* @strcpy(i8* %109, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.33, i64 0, i64 0))
br label %138
111: ; preds = %3, %3, %3, %3, %3, %3, %3
%112 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%113 = call i8* @strcpy(i8* %112, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.34, i64 0, i64 0))
br label %138
114: ; preds = %3, %3
%115 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%116 = call i8* @strcpy(i8* %115, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.35, i64 0, i64 0))
br label %138
117: ; preds = %3
%118 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%119 = call i8* @strcpy(i8* %118, i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.36, i64 0, i64 0))
br label %138
120: ; preds = %3, %3, %3, %3, %3
%121 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%122 = call i8* @strcpy(i8* %121, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.37, i64 0, i64 0))
br label %138
123: ; preds = %3
%124 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%125 = call i8* @strcpy(i8* %124, i8* getelementptr inbounds ([29 x i8], [29 x i8]* @.str.38, i64 0, i64 0))
br label %138
126: ; preds = %3
%127 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%128 = call i8* @strcpy(i8* %127, i8* getelementptr inbounds ([39 x i8], [39 x i8]* @.str.39, i64 0, i64 0))
br label %138
129: ; preds = %3
%130 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%131 = call i8* @strcpy(i8* %130, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @.str.40, i64 0, i64 0))
br label %138
132: ; preds = %3
%133 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%134 = call i8* @strcpy(i8* %133, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.41, i64 0, i64 0))
br label %138
135: ; preds = %3
%136 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%137 = call i8* @strcpy(i8* %136, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.42, i64 0, i64 0))
br label %138
138: ; preds = %135, %132, %129, %126, %123, %120, %117, %114, %111, %108, %105, %102, %99, %96, %93, %90, %87, %84, %81, %78, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9
%139 = load i8*, i8** %5
%140 = getelementptr inbounds [128 x i8], [128 x i8]* %7, i64 0, i64 0
%141 = load i32, i32* %6
%142 = sext i32 %141 to i64
%143 = call i8* @strncpy(i8* %139, i8* %140, i64 %142)
ret void
}

LLVM IR (-O2):
@.str = [15 x i8] c"Invalid syntax\00"
@.str.1 = [18 x i8] c"Invalid parameter\00"
@.str.2 = [18 x i8] c"Invalid principal\00"
@.str.3 = [20 x i8] c"Domain name missing\00"
@.str.4 = [18 x i8] c"Already logged in\00"
@.str.5 = [23 x i8] c"Invalid principal-name\00"
@.str.6 = [24 x i8] c"Nickname change illegal\00"
@.str.7 = [20 x i8] c"Principal list full\00"
@.str.8 = [26 x i8] c"Principal already on list\00"
@.str.9 = [22 x i8] c"Principal not on list\00"
@.str.10 = [22 x i8] c"Principal not on-line\00"
@.str.11 = [16 x i8] c"Already in mode\00"
@.str.12 = [34 x i8] c"Principal is in the opposite list\00"
@.str.13 = [19 x i8] c"Switchboard failed\00"
@.str.14 = [31 x i8] c"Transfer to switchboard failed\00"
@.str.15 = [23 x i8] c"Required field missing\00"
@.str.16 = [14 x i8] c"Not logged in\00"
@.str.17 = [22 x i8] c"Internal server error\00"
@.str.18 = [22 x i8] c"Database server error\00"
@.str.19 = [17 x i8] c"Command disabled\00"
@.str.20 = [22 x i8] c"File operation failed\00"
@.str.21 = [25 x i8] c"Memory allocation failed\00"
@.str.22 = [26 x i8] c"Challenge response failed\00"
@.str.23 = [24 x i8] c"Peer nameserver is down\00"
@.str.24 = [27 x i8] c"Database connection failed\00"
@.str.25 = [21 x i8] c"Server is going down\00"
@.str.26 = [28 x i8] c"Could not create connection\00"
@.str.27 = [24 x i8] c"Bad CVR parameters sent\00"
@.str.28 = [18 x i8] c"Write is blocking\00"
@.str.29 = [22 x i8] c"Session is overloaded\00"
@.str.30 = [18 x i8] c"Too many sessions\00"
@.str.31 = [13 x i8] c"Not expected\00"
@.str.32 = [16 x i8] c"Bad friend file\00"
@.str.33 = [21 x i8] c"Changing too rapidly\00"
@.str.34 = [16 x i8] c"Server too busy\00"
@.str.35 = [21 x i8] c"Autentication failed\00"
@.str.36 = [24 x i8] c"Not allowed when hiding\00"
@.str.37 = [19 x i8] c"Server unavailable\00"
@.str.38 = [29 x i8] c"Not accepting new principals\00"
@.str.39 = [39 x i8] c"Kids Passport without parental consent\00"
@.str.40 = [34 x i8] c"Passport account not yet verified\00"
@.str.41 = [11 x i8] c"Bad ticket\00"
@.str.42 = [14 x i8] c"Unknown error\00"
define void @MSN_error2str(i32 %0, i8* %1, i32 %2) {
%4 = alloca [128 x i8]
%5 = getelementptr inbounds [128 x i8], [128 x i8]* %4, i64 0, i64 0
switch i32 %0, label %48 [
i32 200, label %6
i32 201, label %7
i32 205, label %8
i32 206, label %9
i32 207, label %10
i32 208, label %11
i32 209, label %12
i32 210, label %13
i32 215, label %14
i32 216, label %15
i32 217, label %16
i32 218, label %17
i32 219, label %18
i32 280, label %19
i32 281, label %20
i32 300, label %21
i32 302, label %22
i32 500, label %23
i32 501, label %24
i32 502, label %25
i32 510, label %26
i32 520, label %27
i32 540, label %28
i32 602, label %29
i32 603, label %30
i32 604, label %31
i32 707, label %32
i32 710, label %33
i32 711, label %34
i32 712, label %35
i32 714, label %36
i32 715, label %37
i32 731, label %37
i32 717, label %38
i32 800, label %39
i32 713, label %39
i32 600, label %40
i32 910, label %40
i32 912, label %40
i32 918, label %40
i32 919, label %40
i32 921, label %40
i32 922, label %40
i32 911, label %41
i32 917, label %41
i32 913, label %42
i32 914, label %43
i32 915, label %43
i32 916, label %43
i32 605, label %43
i32 601, label %43
i32 920, label %44
i32 923, label %45
i32 924, label %46
i32 928, label %47
]
6: ; preds = %3
br label %49
7: ; preds = %3
br label %49
8: ; preds = %3
br label %49
9: ; preds = %3
br label %49
10: ; preds = %3
br label %49
11: ; preds = %3
br label %49
12: ; preds = %3
br label %49
13: ; preds = %3
br label %49
14: ; preds = %3
br label %49
15: ; preds = %3
br label %49
16: ; preds = %3
br label %49
17: ; preds = %3
br label %49
18: ; preds = %3
br label %49
19: ; preds = %3
br label %49
20: ; preds = %3
br label %49
21: ; preds = %3
br label %49
22: ; preds = %3
br label %49
23: ; preds = %3
br label %49
24: ; preds = %3
br label %49
25: ; preds = %3
br label %49
26: ; preds = %3
br label %49
27: ; preds = %3
br label %49
28: ; preds = %3
br label %49
29: ; preds = %3
br label %49
30: ; preds = %3
br label %49
31: ; preds = %3
br label %49
32: ; preds = %3
br label %49
33: ; preds = %3
br label %49
34: ; preds = %3
br label %49
35: ; preds = %3
br label %49
36: ; preds = %3
br label %49
37: ; preds = %3, %3
br label %49
38: ; preds = %3
br label %49
39: ; preds = %3, %3
br label %49
40: ; preds = %3, %3, %3, %3, %3, %3, %3
br label %49
41: ; preds = %3, %3
br label %49
42: ; preds = %3
br label %49
43: ; preds = %3, %3, %3, %3, %3
br label %49
44: ; preds = %3
br label %49
45: ; preds = %3
br label %49
46: ; preds = %3
br label %49
47: ; preds = %3
br label %49
48: ; preds = %3
br label %49
49: ; preds = %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6
%50 = sext i32 %2 to i64
%51 = call i8* @strncpy(i8* dereferenceable(1) %1, i8* %5, i64 %50)
ret void
}