int _reset_GC314FS(char *BASE1) {
  int temp;
  *((unsigned int *)(BASE1)) = 0x00006041;
  *((unsigned int *)(BASE1)) = 0x00000041;
  *((unsigned int *)(BASE1 + 0x104)) = 0x80000000;
  *((unsigned int *)(BASE1 + 0x104)) = 0x00000000;
  *((unsigned int *)(BASE1 + 0x108)) = 0x00000000;
  *((unsigned int *)(BASE1 + 0x100)) = 0x01000814;
  *((unsigned int *)(BASE1 + 0x170)) = 0x00000006;
  *((unsigned int *)(BASE1 + 0x100)) = 0x01000814;
  *((unsigned int *)(BASE1 + 0x100)) |= 0x00000080;
  *((unsigned int *)(BASE1 + 0x104)) = 0x00000000;
  *((unsigned int *)(BASE1 + 0x108)) = 0x00000000;
  temp = *((unsigned int *)(BASE1 + 0x10c));
  temp = *((unsigned int *)(BASE1 + 0x110));
  *((unsigned int *)(BASE1 + 0x104)) = 0x80000000;
  *((unsigned int *)(BASE1 + 0x100)) = 0x0f10;
  *((unsigned int *)(BASE1 + 0x170)) = 0x02;
  return 1;
}


x86 assembly (clang, -O0):
<_reset_GC314FS>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    -0x8(%rbp),%rax
movl   $0x6041,(%rax)
mov    -0x8(%rbp),%rax
movl   $0x41,(%rax)
mov    -0x8(%rbp),%rax
movl   $0x80000000,0x104(%rax)
mov    -0x8(%rbp),%rax
movl   $0x0,0x104(%rax)
mov    -0x8(%rbp),%rax
movl   $0x0,0x108(%rax)
mov    -0x8(%rbp),%rax
movl   $0x1000814,0x100(%rax)
mov    -0x8(%rbp),%rax
movl   $0x6,0x170(%rax)
mov    -0x8(%rbp),%rax
movl   $0x1000814,0x100(%rax)
mov    -0x8(%rbp),%rax
mov    0x100(%rax),%ecx
or     $0x80,%ecx
mov    %ecx,0x100(%rax)
mov    -0x8(%rbp),%rax
movl   $0x0,0x104(%rax)
mov    -0x8(%rbp),%rax
movl   $0x0,0x108(%rax)
mov    -0x8(%rbp),%rax
mov    0x10c(%rax),%eax
mov    %eax,-0xc(%rbp)
mov    -0x8(%rbp),%rax
mov    0x110(%rax),%eax
mov    %eax,-0xc(%rbp)
mov    -0x8(%rbp),%rax
movl   $0x80000000,0x104(%rax)
mov    -0x8(%rbp),%rax
movl   $0xf10,0x100(%rax)
mov    -0x8(%rbp),%rax
movl   $0x2,0x170(%rax)
mov    $0x1,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<_reset_GC314FS>:
movl   $0x41,(%rdi)
movl   $0x0,0x108(%rdi)
movabs $0x8000000000000f10,%rax
mov    %rax,0x100(%rdi)
movl   $0x2,0x170(%rdi)
mov    $0x1,%eax
ret

LLVM IR (-O0):
define i32 @_reset_GC314FS(i8* %0) {
%2 = alloca i8*
%3 = alloca i32
store i8* %0, i8** %2
%4 = load i8*, i8** %2
%5 = bitcast i8* %4 to i32*
store i32 24641, i32* %5
%6 = load i8*, i8** %2
%7 = bitcast i8* %6 to i32*
store i32 65, i32* %7
%8 = load i8*, i8** %2
%9 = getelementptr inbounds i8, i8* %8, i64 260
%10 = bitcast i8* %9 to i32*
store i32 -2147483648, i32* %10
%11 = load i8*, i8** %2
%12 = getelementptr inbounds i8, i8* %11, i64 260
%13 = bitcast i8* %12 to i32*
store i32 0, i32* %13
%14 = load i8*, i8** %2
%15 = getelementptr inbounds i8, i8* %14, i64 264
%16 = bitcast i8* %15 to i32*
store i32 0, i32* %16
%17 = load i8*, i8** %2
%18 = getelementptr inbounds i8, i8* %17, i64 256
%19 = bitcast i8* %18 to i32*
store i32 16779284, i32* %19
%20 = load i8*, i8** %2
%21 = getelementptr inbounds i8, i8* %20, i64 368
%22 = bitcast i8* %21 to i32*
store i32 6, i32* %22
%23 = load i8*, i8** %2
%24 = getelementptr inbounds i8, i8* %23, i64 256
%25 = bitcast i8* %24 to i32*
store i32 16779284, i32* %25
%26 = load i8*, i8** %2
%27 = getelementptr inbounds i8, i8* %26, i64 256
%28 = bitcast i8* %27 to i32*
%29 = load i32, i32* %28
%30 = or i32 %29, 128
store i32 %30, i32* %28
%31 = load i8*, i8** %2
%32 = getelementptr inbounds i8, i8* %31, i64 260
%33 = bitcast i8* %32 to i32*
store i32 0, i32* %33
%34 = load i8*, i8** %2
%35 = getelementptr inbounds i8, i8* %34, i64 264
%36 = bitcast i8* %35 to i32*
store i32 0, i32* %36
%37 = load i8*, i8** %2
%38 = getelementptr inbounds i8, i8* %37, i64 268
%39 = bitcast i8* %38 to i32*
%40 = load i32, i32* %39
store i32 %40, i32* %3
%41 = load i8*, i8** %2
%42 = getelementptr inbounds i8, i8* %41, i64 272
%43 = bitcast i8* %42 to i32*
%44 = load i32, i32* %43
store i32 %44, i32* %3
%45 = load i8*, i8** %2
%46 = getelementptr inbounds i8, i8* %45, i64 260
%47 = bitcast i8* %46 to i32*
store i32 -2147483648, i32* %47
%48 = load i8*, i8** %2
%49 = getelementptr inbounds i8, i8* %48, i64 256
%50 = bitcast i8* %49 to i32*
store i32 3856, i32* %50
%51 = load i8*, i8** %2
%52 = getelementptr inbounds i8, i8* %51, i64 368
%53 = bitcast i8* %52 to i32*
store i32 2, i32* %53
ret i32 1
}

LLVM IR (-O2):
define i32 @_reset_GC314FS(i8* nocapture writeonly %0) {
%2 = bitcast i8* %0 to i32*
store i32 65, i32* %2
%3 = getelementptr inbounds i8, i8* %0, i64 260
%4 = bitcast i8* %3 to i32*
%5 = getelementptr inbounds i8, i8* %0, i64 264
%6 = bitcast i8* %5 to i32*
%7 = getelementptr inbounds i8, i8* %0, i64 256
%8 = bitcast i8* %7 to i32*
%9 = getelementptr inbounds i8, i8* %0, i64 368
%10 = bitcast i8* %9 to i32*
store i32 0, i32* %6
store i32 -2147483648, i32* %4
store i32 3856, i32* %8
store i32 2, i32* %10
ret i32 1
}