#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ debug(char *);
int /*<<< orphan*/ kill_this_task();
int /*<<< orphan*/ make_global_int(char *, int);
int /*<<< orphan*/ preload_seq(int);
int /*<<< orphan*/ set_dink_speed(int);
int /*<<< orphan*/ sp_frame_delay(int, int /*<<< orphan*/);
void main() {
  make_global_int("&exp", 0);
  make_global_int("&strength", 3);
  make_global_int("&defense", 0);
  make_global_int("&cur_weapon", 0);
  make_global_int("&cur_magic", 0);
  make_global_int("&gold", 0);
  make_global_int("&magic", 0);
  make_global_int("&magic_level", 0);
  make_global_int("&vision", 0);
  make_global_int("&result", 0);
  make_global_int("&speed", 1);
  make_global_int("&timing", 0);
  make_global_int("&lifemax", 10);
  make_global_int("&life", 10);
  make_global_int("&level", 1);
  make_global_int("&player_map", 1);
  make_global_int("&last_text", 0);
  make_global_int("&update_status", 0);
  make_global_int("&missile_target", 0);
  make_global_int("&enemy_sprite", 0);
  make_global_int("&magic_cost", 0);
  make_global_int("&missle_source", 0);
  make_global_int("&story", 0);
  make_global_int("&old_womans_duck", 0);
  make_global_int("&nuttree", 0);
  make_global_int("&letter", 0);
  make_global_int("&little_girl", 0);
  make_global_int("&farmer_quest", 0);
  make_global_int("&save_x", 0);
  make_global_int("&save_y", 0);
  make_global_int("&safe", 0);
  make_global_int("&pig_story", 0);
  make_global_int("&wizard_see", 0);
  make_global_int("&mlibby", 0);
  make_global_int("&wizard_again", 0);
  make_global_int("&snowc", 0);
  make_global_int("&duckgame", 0);
  make_global_int("&gossip", 0);
  make_global_int("&robbed", 0);
  make_global_int("&dinklogo", 0);
  make_global_int("&rock_placement", 0);
  make_global_int("&temphold", 0);
  make_global_int("&temp1hold", 0);
  make_global_int("&temp2hold", 0);
  make_global_int("&temp3hold", 0);
  make_global_int("&temp4hold", 0);
  make_global_int("&temp5hold", 0);
  make_global_int("&temp6hold", 0);
  make_global_int("&town1", 0);
  make_global_int("&s2-milder", 0);
  make_global_int("&thief", 0);
  make_global_int("&caveguy", 0);
  make_global_int("&s2-aunt", 0);
  make_global_int("&tombob", 0);
  make_global_int("&mayor", 0);
  make_global_int("&hero", 0);
  make_global_int("&s2-nad", 0);
  make_global_int("&gobpass", 0);
  make_global_int("&bowlore", 0);
  make_global_int("&s4-duck", 0);
  make_global_int("&s5-jop", 0);
  make_global_int("&s7-boat", 0);
  make_global_int("&s2-map", 0);
  set_dink_speed(3);
  sp_frame_delay(1, 0);
  preload_seq(373);
  debug("Dink started. Time to fight for your right to party.");
  kill_this_task();
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
lea    0xe95(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe8c(%rip),%rdi
mov    $0x3,%esi
call   1030 <make_global_int@plt>
lea    0xe85(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe80(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe7e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe7b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe73(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe6c(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe6b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe65(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe5f(%rip),%rdi
mov    $0x1,%esi
call   1030 <make_global_int@plt>
lea    0xe55(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe4f(%rip),%rdi
mov    $0xa,%esi
call   1030 <make_global_int@plt>
lea    0xe47(%rip),%rdi
mov    $0xa,%esi
call   1030 <make_global_int@plt>
lea    0xe3c(%rip),%rdi
mov    $0x1,%esi
call   1030 <make_global_int@plt>
lea    0xe32(%rip),%rdi
mov    $0x1,%esi
call   1030 <make_global_int@plt>
lea    0xe2d(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2a(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2d(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2d(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2c(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe25(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe28(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe23(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe1d(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe1c(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe1c(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe16(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe10(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe08(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe05(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe03(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdfd(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdfd(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdf6(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdf2(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdec(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde6(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde2(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde4(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde0(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xddd(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdda(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdd7(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdd4(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdd1(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdce(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdc7(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdc4(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdbd(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdb8(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdb3(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdad(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xda6(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd9e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd98(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd93(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd8e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd89(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd83(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd7e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
mov    $0x3,%edi
call   1080 <set_dink_speed@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1070 <sp_frame_delay@plt>
mov    $0x175,%edi
call   1060 <preload_seq@plt>
lea    0xd58(%rip),%rdi
call   1050 <debug@plt>
mov    $0x0,%al
call   1040 <kill_this_task@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rax
lea    0xe98(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe8f(%rip),%rdi
mov    $0x3,%esi
call   1030 <make_global_int@plt>
lea    0xe88(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe83(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe81(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe7e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe76(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe6f(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe6e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe68(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe62(%rip),%rdi
mov    $0x1,%esi
call   1030 <make_global_int@plt>
lea    0xe58(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe52(%rip),%rdi
mov    $0xa,%esi
call   1030 <make_global_int@plt>
lea    0xe4a(%rip),%rdi
mov    $0xa,%esi
call   1030 <make_global_int@plt>
lea    0xe3f(%rip),%rdi
mov    $0x1,%esi
call   1030 <make_global_int@plt>
lea    0xe35(%rip),%rdi
mov    $0x1,%esi
call   1030 <make_global_int@plt>
lea    0xe30(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2d(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe30(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe30(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2e(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2f(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe28(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe2b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe26(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe20(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe1f(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe1f(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe19(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe13(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe0b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe08(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe06(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe00(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xe00(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdf9(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdf5(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdef(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde9(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde5(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde7(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde3(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xde0(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xddd(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdda(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdd7(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdd4(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdd1(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdca(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdc7(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdc0(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdbb(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdb6(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xdb0(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xda9(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xda1(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd9b(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd96(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd91(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd8c(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd86(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
lea    0xd81(%rip),%rdi
xor    %esi,%esi
call   1030 <make_global_int@plt>
mov    $0x3,%edi
call   1080 <set_dink_speed@plt>
mov    $0x1,%edi
xor    %esi,%esi
call   1070 <sp_frame_delay@plt>
mov    $0x175,%edi
call   1060 <preload_seq@plt>
lea    0xd5b(%rip),%rdi
call   1050 <debug@plt>
xor    %eax,%eax
pop    %rcx
jmp    1040 <kill_this_task@plt>

LLVM IR (-O0):
@.str = [5 x i8] c"&exp\00"
@.str.1 = [10 x i8] c"&strength\00"
@.str.2 = [9 x i8] c"&defense\00"
@.str.3 = [12 x i8] c"&cur_weapon\00"
@.str.4 = [11 x i8] c"&cur_magic\00"
@.str.5 = [6 x i8] c"&gold\00"
@.str.6 = [7 x i8] c"&magic\00"
@.str.7 = [13 x i8] c"&magic_level\00"
@.str.8 = [8 x i8] c"&vision\00"
@.str.9 = [8 x i8] c"&result\00"
@.str.10 = [7 x i8] c"&speed\00"
@.str.11 = [8 x i8] c"&timing\00"
@.str.12 = [9 x i8] c"&lifemax\00"
@.str.13 = [6 x i8] c"&life\00"
@.str.14 = [7 x i8] c"&level\00"
@.str.15 = [12 x i8] c"&player_map\00"
@.str.16 = [11 x i8] c"&last_text\00"
@.str.17 = [15 x i8] c"&update_status\00"
@.str.18 = [16 x i8] c"&missile_target\00"
@.str.19 = [14 x i8] c"&enemy_sprite\00"
@.str.20 = [12 x i8] c"&magic_cost\00"
@.str.21 = [15 x i8] c"&missle_source\00"
@.str.22 = [7 x i8] c"&story\00"
@.str.23 = [17 x i8] c"&old_womans_duck\00"
@.str.24 = [9 x i8] c"&nuttree\00"
@.str.25 = [8 x i8] c"&letter\00"
@.str.26 = [13 x i8] c"&little_girl\00"
@.str.27 = [14 x i8] c"&farmer_quest\00"
@.str.28 = [8 x i8] c"&save_x\00"
@.str.29 = [8 x i8] c"&save_y\00"
@.str.30 = [6 x i8] c"&safe\00"
@.str.31 = [11 x i8] c"&pig_story\00"
@.str.32 = [12 x i8] c"&wizard_see\00"
@.str.33 = [8 x i8] c"&mlibby\00"
@.str.34 = [14 x i8] c"&wizard_again\00"
@.str.35 = [7 x i8] c"&snowc\00"
@.str.36 = [10 x i8] c"&duckgame\00"
@.str.37 = [8 x i8] c"&gossip\00"
@.str.38 = [8 x i8] c"&robbed\00"
@.str.39 = [10 x i8] c"&dinklogo\00"
@.str.40 = [16 x i8] c"&rock_placement\00"
@.str.41 = [10 x i8] c"&temphold\00"
@.str.42 = [11 x i8] c"&temp1hold\00"
@.str.43 = [11 x i8] c"&temp2hold\00"
@.str.44 = [11 x i8] c"&temp3hold\00"
@.str.45 = [11 x i8] c"&temp4hold\00"
@.str.46 = [11 x i8] c"&temp5hold\00"
@.str.47 = [11 x i8] c"&temp6hold\00"
@.str.48 = [7 x i8] c"&town1\00"
@.str.49 = [11 x i8] c"&s2-milder\00"
@.str.50 = [7 x i8] c"&thief\00"
@.str.51 = [9 x i8] c"&caveguy\00"
@.str.52 = [9 x i8] c"&s2-aunt\00"
@.str.53 = [8 x i8] c"&tombob\00"
@.str.54 = [7 x i8] c"&mayor\00"
@.str.55 = [6 x i8] c"&hero\00"
@.str.56 = [8 x i8] c"&s2-nad\00"
@.str.57 = [9 x i8] c"&gobpass\00"
@.str.58 = [9 x i8] c"&bowlore\00"
@.str.59 = [9 x i8] c"&s4-duck\00"
@.str.60 = [8 x i8] c"&s5-jop\00"
@.str.61 = [9 x i8] c"&s7-boat\00"
@.str.62 = [8 x i8] c"&s2-map\00"
@.str.63 = [53 x i8] c"Dink started. Time to fight for your right to party.\00"
define void @main() {
%1 = call i32 @make_global_int(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i32 0)
%2 = call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 3)
%3 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0), i32 0)
%4 = call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i32 0)
%5 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.4, i64 0, i64 0), i32 0)
%6 = call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0), i32 0)
%7 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), i32 0)
%8 = call i32 @make_global_int(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.7, i64 0, i64 0), i32 0)
%9 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i64 0, i64 0), i32 0)
%10 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0), i32 0)
%11 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i32 1)
%12 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), i32 0)
%13 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.12, i64 0, i64 0), i32 10)
%14 = call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13, i64 0, i64 0), i32 10)
%15 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i32 1)
%16 = call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0), i32 1)
%17 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.16, i64 0, i64 0), i32 0)
%18 = call i32 @make_global_int(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17, i64 0, i64 0), i32 0)
%19 = call i32 @make_global_int(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.18, i64 0, i64 0), i32 0)
%20 = call i32 @make_global_int(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0), i32 0)
%21 = call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0), i32 0)
%22 = call i32 @make_global_int(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.21, i64 0, i64 0), i32 0)
%23 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.22, i64 0, i64 0), i32 0)
%24 = call i32 @make_global_int(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0), i32 0)
%25 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.24, i64 0, i64 0), i32 0)
%26 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0), i32 0)
%27 = call i32 @make_global_int(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.26, i64 0, i64 0), i32 0)
%28 = call i32 @make_global_int(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.27, i64 0, i64 0), i32 0)
%29 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i64 0, i64 0), i32 0)
%30 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.29, i64 0, i64 0), i32 0)
%31 = call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.30, i64 0, i64 0), i32 0)
%32 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.31, i64 0, i64 0), i32 0)
%33 = call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.32, i64 0, i64 0), i32 0)
%34 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.33, i64 0, i64 0), i32 0)
%35 = call i32 @make_global_int(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0), i32 0)
%36 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.35, i64 0, i64 0), i32 0)
%37 = call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 0)
%38 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.37, i64 0, i64 0), i32 0)
%39 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.38, i64 0, i64 0), i32 0)
%40 = call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.39, i64 0, i64 0), i32 0)
%41 = call i32 @make_global_int(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.40, i64 0, i64 0), i32 0)
%42 = call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.41, i64 0, i64 0), i32 0)
%43 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.42, i64 0, i64 0), i32 0)
%44 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.43, i64 0, i64 0), i32 0)
%45 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.44, i64 0, i64 0), i32 0)
%46 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.45, i64 0, i64 0), i32 0)
%47 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.46, i64 0, i64 0), i32 0)
%48 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i64 0, i64 0), i32 0)
%49 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.48, i64 0, i64 0), i32 0)
%50 = call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.49, i64 0, i64 0), i32 0)
%51 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.50, i64 0, i64 0), i32 0)
%52 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.51, i64 0, i64 0), i32 0)
%53 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.52, i64 0, i64 0), i32 0)
%54 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.53, i64 0, i64 0), i32 0)
%55 = call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.54, i64 0, i64 0), i32 0)
%56 = call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.55, i64 0, i64 0), i32 0)
%57 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 0)
%58 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.57, i64 0, i64 0), i32 0)
%59 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i64 0, i64 0), i32 0)
%60 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i64 0, i64 0), i32 0)
%61 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.60, i64 0, i64 0), i32 0)
%62 = call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.61, i64 0, i64 0), i32 0)
%63 = call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.62, i64 0, i64 0), i32 0)
%64 = call i32 @set_dink_speed(i32 3)
%65 = call i32 @sp_frame_delay(i32 1, i32 0)
%66 = call i32 @preload_seq(i32 373)
%67 = call i32 @debug(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.63, i64 0, i64 0))
%68 = call i32 (...) @kill_this_task()
ret void
}

LLVM IR (-O2):
@.str = [5 x i8] c"&exp\00"
@.str.1 = [10 x i8] c"&strength\00"
@.str.2 = [9 x i8] c"&defense\00"
@.str.3 = [12 x i8] c"&cur_weapon\00"
@.str.4 = [11 x i8] c"&cur_magic\00"
@.str.5 = [6 x i8] c"&gold\00"
@.str.6 = [7 x i8] c"&magic\00"
@.str.7 = [13 x i8] c"&magic_level\00"
@.str.8 = [8 x i8] c"&vision\00"
@.str.9 = [8 x i8] c"&result\00"
@.str.10 = [7 x i8] c"&speed\00"
@.str.11 = [8 x i8] c"&timing\00"
@.str.12 = [9 x i8] c"&lifemax\00"
@.str.13 = [6 x i8] c"&life\00"
@.str.14 = [7 x i8] c"&level\00"
@.str.15 = [12 x i8] c"&player_map\00"
@.str.16 = [11 x i8] c"&last_text\00"
@.str.17 = [15 x i8] c"&update_status\00"
@.str.18 = [16 x i8] c"&missile_target\00"
@.str.19 = [14 x i8] c"&enemy_sprite\00"
@.str.20 = [12 x i8] c"&magic_cost\00"
@.str.21 = [15 x i8] c"&missle_source\00"
@.str.22 = [7 x i8] c"&story\00"
@.str.23 = [17 x i8] c"&old_womans_duck\00"
@.str.24 = [9 x i8] c"&nuttree\00"
@.str.25 = [8 x i8] c"&letter\00"
@.str.26 = [13 x i8] c"&little_girl\00"
@.str.27 = [14 x i8] c"&farmer_quest\00"
@.str.28 = [8 x i8] c"&save_x\00"
@.str.29 = [8 x i8] c"&save_y\00"
@.str.30 = [6 x i8] c"&safe\00"
@.str.31 = [11 x i8] c"&pig_story\00"
@.str.32 = [12 x i8] c"&wizard_see\00"
@.str.33 = [8 x i8] c"&mlibby\00"
@.str.34 = [14 x i8] c"&wizard_again\00"
@.str.35 = [7 x i8] c"&snowc\00"
@.str.36 = [10 x i8] c"&duckgame\00"
@.str.37 = [8 x i8] c"&gossip\00"
@.str.38 = [8 x i8] c"&robbed\00"
@.str.39 = [10 x i8] c"&dinklogo\00"
@.str.40 = [16 x i8] c"&rock_placement\00"
@.str.41 = [10 x i8] c"&temphold\00"
@.str.42 = [11 x i8] c"&temp1hold\00"
@.str.43 = [11 x i8] c"&temp2hold\00"
@.str.44 = [11 x i8] c"&temp3hold\00"
@.str.45 = [11 x i8] c"&temp4hold\00"
@.str.46 = [11 x i8] c"&temp5hold\00"
@.str.47 = [11 x i8] c"&temp6hold\00"
@.str.48 = [7 x i8] c"&town1\00"
@.str.49 = [11 x i8] c"&s2-milder\00"
@.str.50 = [7 x i8] c"&thief\00"
@.str.51 = [9 x i8] c"&caveguy\00"
@.str.52 = [9 x i8] c"&s2-aunt\00"
@.str.53 = [8 x i8] c"&tombob\00"
@.str.54 = [7 x i8] c"&mayor\00"
@.str.55 = [6 x i8] c"&hero\00"
@.str.56 = [8 x i8] c"&s2-nad\00"
@.str.57 = [9 x i8] c"&gobpass\00"
@.str.58 = [9 x i8] c"&bowlore\00"
@.str.59 = [9 x i8] c"&s4-duck\00"
@.str.60 = [8 x i8] c"&s5-jop\00"
@.str.61 = [9 x i8] c"&s7-boat\00"
@.str.62 = [8 x i8] c"&s2-map\00"
@.str.63 = [53 x i8] c"Dink started. Time to fight for your right to party.\00"
define void @main() {
%1 = tail call i32 @make_global_int(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i32 0)
%2 = tail call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0), i32 3)
%3 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.2, i64 0, i64 0), i32 0)
%4 = tail call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.3, i64 0, i64 0), i32 0)
%5 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.4, i64 0, i64 0), i32 0)
%6 = tail call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.5, i64 0, i64 0), i32 0)
%7 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), i32 0)
%8 = tail call i32 @make_global_int(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.7, i64 0, i64 0), i32 0)
%9 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i64 0, i64 0), i32 0)
%10 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0), i32 0)
%11 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.10, i64 0, i64 0), i32 1)
%12 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), i32 0)
%13 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.12, i64 0, i64 0), i32 10)
%14 = tail call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.13, i64 0, i64 0), i32 10)
%15 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0), i32 1)
%16 = tail call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.15, i64 0, i64 0), i32 1)
%17 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.16, i64 0, i64 0), i32 0)
%18 = tail call i32 @make_global_int(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.17, i64 0, i64 0), i32 0)
%19 = tail call i32 @make_global_int(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.18, i64 0, i64 0), i32 0)
%20 = tail call i32 @make_global_int(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0), i32 0)
%21 = tail call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0), i32 0)
%22 = tail call i32 @make_global_int(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.21, i64 0, i64 0), i32 0)
%23 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.22, i64 0, i64 0), i32 0)
%24 = tail call i32 @make_global_int(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.23, i64 0, i64 0), i32 0)
%25 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.24, i64 0, i64 0), i32 0)
%26 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.25, i64 0, i64 0), i32 0)
%27 = tail call i32 @make_global_int(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.26, i64 0, i64 0), i32 0)
%28 = tail call i32 @make_global_int(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.27, i64 0, i64 0), i32 0)
%29 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.28, i64 0, i64 0), i32 0)
%30 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.29, i64 0, i64 0), i32 0)
%31 = tail call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.30, i64 0, i64 0), i32 0)
%32 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.31, i64 0, i64 0), i32 0)
%33 = tail call i32 @make_global_int(i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.32, i64 0, i64 0), i32 0)
%34 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.33, i64 0, i64 0), i32 0)
%35 = tail call i32 @make_global_int(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0), i32 0)
%36 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.35, i64 0, i64 0), i32 0)
%37 = tail call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.36, i64 0, i64 0), i32 0)
%38 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.37, i64 0, i64 0), i32 0)
%39 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.38, i64 0, i64 0), i32 0)
%40 = tail call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.39, i64 0, i64 0), i32 0)
%41 = tail call i32 @make_global_int(i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.40, i64 0, i64 0), i32 0)
%42 = tail call i32 @make_global_int(i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.41, i64 0, i64 0), i32 0)
%43 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.42, i64 0, i64 0), i32 0)
%44 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.43, i64 0, i64 0), i32 0)
%45 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.44, i64 0, i64 0), i32 0)
%46 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.45, i64 0, i64 0), i32 0)
%47 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.46, i64 0, i64 0), i32 0)
%48 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.47, i64 0, i64 0), i32 0)
%49 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.48, i64 0, i64 0), i32 0)
%50 = tail call i32 @make_global_int(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.49, i64 0, i64 0), i32 0)
%51 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.50, i64 0, i64 0), i32 0)
%52 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.51, i64 0, i64 0), i32 0)
%53 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.52, i64 0, i64 0), i32 0)
%54 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.53, i64 0, i64 0), i32 0)
%55 = tail call i32 @make_global_int(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.54, i64 0, i64 0), i32 0)
%56 = tail call i32 @make_global_int(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.55, i64 0, i64 0), i32 0)
%57 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.56, i64 0, i64 0), i32 0)
%58 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.57, i64 0, i64 0), i32 0)
%59 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.58, i64 0, i64 0), i32 0)
%60 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i64 0, i64 0), i32 0)
%61 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.60, i64 0, i64 0), i32 0)
%62 = tail call i32 @make_global_int(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.61, i64 0, i64 0), i32 0)
%63 = tail call i32 @make_global_int(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.62, i64 0, i64 0), i32 0)
%64 = tail call i32 @set_dink_speed(i32 3)
%65 = tail call i32 @sp_frame_delay(i32 1, i32 0)
%66 = tail call i32 @preload_seq(i32 373)
%67 = tail call i32 @debug(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.63, i64 0, i64 0))
%68 = tail call i32 (...) @kill_this_task()
ret void
}