// File: /workspace/github_c_makefile_star2_O3/atomlang[P]atomlang/src/pk_core.c
// Function: initializeCore
void initializeCore(PKVM* vm) {

#define INITIALIZE_BUILTIN_FN(name, fn, argc)                        \
  initializeBuiltinFN(vm, &vm->builtins[vm->builtins_count++], name, \
                      (int)strlen(name), argc, fn, DOCSTRING(fn));

#define MODULE_ADD_FN(module, name, fn, argc) \
  moduleAddFunctionInternal(vm, module, name, fn, argc, DOCSTRING(fn))

  // Initialize builtin functions.
  INITIALIZE_BUILTIN_FN("type_name",   coreTypeName,   1);

  // TODO: Add is keyword with modules for builtin types.
  // ex: val is Num; val is null; val is List; val is Range
  //     List.append(l, e) # List is implicitly imported core module.
  //     String.lower(s)

  INITIALIZE_BUILTIN_FN("help",        coreHelp,      -1);
  INITIALIZE_BUILTIN_FN("assert",      coreAssert,    -1);
  INITIALIZE_BUILTIN_FN("bin",         coreBin,        1);
  INITIALIZE_BUILTIN_FN("hex",         coreHex,        1);
  INITIALIZE_BUILTIN_FN("yield",       coreYield,     -1);
  INITIALIZE_BUILTIN_FN("to_string",   coreToString,   1);
  INITIALIZE_BUILTIN_FN("print",       corePrint,     -1);
  INITIALIZE_BUILTIN_FN("input",       coreInput,     -1);
  INITIALIZE_BUILTIN_FN("exit",        coreExit,      -1);

  // String functions.
  INITIALIZE_BUILTIN_FN("str_sub",     coreStrSub,     3);
  INITIALIZE_BUILTIN_FN("str_chr",     coreStrChr,     1);
  INITIALIZE_BUILTIN_FN("str_ord",     coreStrOrd,     1);

  // List functions.
  INITIALIZE_BUILTIN_FN("list_append", coreListAppend, 2);

  // Map functions.
  INITIALIZE_BUILTIN_FN("map_remove",  coreMapRemove,  2);

  // Core Modules /////////////////////////////////////////////////////////////

  Script* lang = newModuleInternal(vm, "lang");
  MODULE_ADD_FN(lang, "clock", stdLangClock,  0);
  MODULE_ADD_FN(lang, "gc",    stdLangGC,     0);
  MODULE_ADD_FN(lang, "disas", stdLangDisas,  1);
  MODULE_ADD_FN(lang, "write", stdLangWrite, -1);
#ifdef DEBUG
  MODULE_ADD_FN(lang, "debug_break", stdLangDebugBreak, 0);
#endif

  Script* math = newModuleInternal(vm, "math");
  MODULE_ADD_FN(math, "floor", stdMathFloor,       1);
  MODULE_ADD_FN(math, "ceil",  stdMathCeil,        1);
  MODULE_ADD_FN(math, "pow",   stdMathPow,         2);
  MODULE_ADD_FN(math, "sqrt",  stdMathSqrt,        1);
  MODULE_ADD_FN(math, "abs",   stdMathAbs,         1);
  MODULE_ADD_FN(math, "sign",  stdMathSign,        1);
  MODULE_ADD_FN(math, "hash",  stdMathHash,        1);
  MODULE_ADD_FN(math, "sin",   stdMathSine,        1);
  MODULE_ADD_FN(math, "cos",   stdMathCosine,      1);
  MODULE_ADD_FN(math, "tan",   stdMathTangent,     1);
  MODULE_ADD_FN(math, "sinh",  stdMathSinh,        1);
  MODULE_ADD_FN(math, "cosh",  stdMathCosh,        1);
  MODULE_ADD_FN(math, "tanh",  stdMathTanh,        1);
  MODULE_ADD_FN(math, "asin",  stdMathArcSine,     1);
  MODULE_ADD_FN(math, "acos",  stdMathArcCosine,   1);
  MODULE_ADD_FN(math, "atan",  stdMathArcTangent,  1);
  MODULE_ADD_FN(math, "log10", stdMathLog10,       1);
  MODULE_ADD_FN(math, "round", stdMathRound,       1);

  // Note that currently it's mutable (since it's a global variable, not
  // constant and atomlang doesn't support constant) so the user shouldn't
  // modify the PI, like in python.
  // TODO: at varSetAttrib() we can detect if the user try to change an
  // attribute of a core module and we can throw an error.
  moduleAddGlobalInternal(vm, math, "PI", VAR_NUM(M_PI));

  Script* fiber = newModuleInternal(vm, "Fiber");
  MODULE_ADD_FN(fiber, "new",      stdFiberNew,     1);
  MODULE_ADD_FN(fiber, "run",      stdFiberRun,    -1);
  MODULE_ADD_FN(fiber, "resume",   stdFiberResume, -1);

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl 0x5e8(%rdi), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rdi)
leaq (%rax,%rax,2), %r14
leaq 0xa396(%rip), %rsi      # 0x1db85
movq %rsi, 0x138(%rdi,%r14,8)
movl $0x9, %eax
movl %eax, 0x140(%rdi,%r14,8)
leaq 0xa90d(%rip), %r9       # 0x1e118
movl $0x1, %ebp
movl $0x9, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl %ebp, 0x20(%rax)
leaq 0x984(%rip), %rcx       # 0x141b8
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0xa33d(%rip), %rsi      # 0x1db8f
movq %rsi, 0x138(%rbx,%r14,8)
movl $0x4, %eax
movl %eax, 0x140(%rbx,%r14,8)
leaq 0xa985(%rip), %r9       # 0x1e1f3
movq %rbx, %rdi
movl $0x4, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %r15d, 0x20(%rax)
leaq 0x9a4(%rip), %rcx       # 0x14240
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0xa2da(%rip), %rsi      # 0x1db94
movq %rsi, 0x138(%rbx,%r14,8)
movl $0x6, 0x140(%rbx,%r14,8)
leaq 0xa9a1(%rip), %r9       # 0x1e276
movq %rbx, %rdi
movl $0x6, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl %r15d, 0x20(%rax)
leaq 0xa3f(%rip), %rcx       # 0x1433c
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0xa280(%rip), %rsi      # 0x1db9b
movq %rsi, 0x138(%rbx,%r14,8)
movl $0x3, %r12d
movl %r12d, 0x140(%rbx,%r14,8)
leaq 0xa9d3(%rip), %r9       # 0x1e30b
movq %rbx, %rdi
movl $0x3, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl %ebp, 0x20(%rax)
leaq 0xb0b(%rip), %rcx       # 0x1446a
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0xa222(%rip), %rsi      # 0x1db9f
movq %rsi, 0x138(%rbx,%r14,8)
movl %r12d, 0x140(%rbx,%r14,8)
leaq 0xa9e1(%rip), %r9       # 0x1e375
movq %rbx, %rdi
movl $0x3, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl %ebp, 0x20(%rax)
leaq 0xc47(%rip), %rcx       # 0x14602
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r13
leaq 0xa1ca(%rip), %rsi      # 0x1dba3
movq %rsi, 0x138(%rbx,%r13,8)
movl $0x5, %r14d
movl %r14d, 0x140(%rbx,%r13,8)
leaq 0xa9da(%rip), %r9       # 0x1e3d0
movq %rbx, %rdi
movl $0x5, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r13,8)
movl %r15d, 0x20(%rax)
leaq 0xd9d(%rip), %rcx       # 0x147bb
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r13
leaq 0xa16d(%rip), %rsi      # 0x1dba9
movq %rsi, 0x138(%rbx,%r13,8)
movl $0x9, %eax
movl %eax, 0x140(%rbx,%r13,8)
leaq 0xaa97(%rip), %r9       # 0x1e4ef
movq %rbx, %rdi
movl $0x9, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r13,8)
movl %ebp, 0x20(%rax)
leaq 0xdaf(%rip), %rcx       # 0x1482e
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r13
leaq 0xa116(%rip), %rsi      # 0x1dbb3
movq %rsi, 0x138(%rbx,%r13,8)
movl %r14d, 0x140(%rbx,%r13,8)
leaq 0xaa8a(%rip), %r9       # 0x1e53e
movq %rbx, %rdi
movl $0x5, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r13,8)
movl %r15d, 0x20(%rax)
leaq 0xd87(%rip), %rcx       # 0x14863
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r13
leaq 0xa0bf(%rip), %rsi      # 0x1dbb9
movq %rsi, 0x138(%rbx,%r13,8)
movl %r14d, 0x140(%rbx,%r13,8)
leaq 0xaa99(%rip), %r9       # 0x1e5aa
movq %rbx, %rdi
movl $0x5, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r13,8)
movl %r15d, 0x20(%rax)
leaq 0xde5(%rip), %rcx       # 0x1491e
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0xa068(%rip), %rsi      # 0x1dbbf
movq %rsi, 0x138(%rbx,%r14,8)
movl $0x4, %eax
movl %eax, 0x140(%rbx,%r14,8)
leaq 0xaadd(%rip), %r9       # 0x1e650
movq %rbx, %rdi
movl $0x4, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl %r15d, 0x20(%rax)
leaq 0xea0(%rip), %rcx       # 0x14a3b
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r15
leaq 0xa00b(%rip), %rsi      # 0x1dbc4
movq %rsi, 0x138(%rbx,%r15,8)
movl $0x7, %r14d
movl %r14d, 0x140(%rbx,%r15,8)
leaq 0xab94(%rip), %r9       # 0x1e76a
movq %rbx, %rdi
movl $0x7, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r15,8)
movl %r12d, 0x20(%rax)
leaq 0xf87(%rip), %rcx       # 0x14b85
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r15
leaq 0x9fb0(%rip), %rsi      # 0x1dbcc
movq %rsi, 0x138(%rbx,%r15,8)
movl %r14d, 0x140(%rbx,%r15,8)
leaq 0xac4f(%rip), %r9       # 0x1e882
movq %rbx, %rdi
movl $0x7, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r15,8)
movl %ebp, 0x20(%rax)
leaq 0x11c3(%rip), %rcx      # 0x14e1d
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r15
leaq 0x9f5c(%rip), %rsi      # 0x1dbd4
movq %rsi, 0x138(%rbx,%r15,8)
movl %r14d, 0x140(%rbx,%r15,8)
leaq 0xac72(%rip), %r9       # 0x1e901
movq %rbx, %rdi
movl $0x7, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r15,8)
movl %ebp, 0x20(%rax)
leaq 0x12d0(%rip), %rcx      # 0x14f86
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0x9f08(%rip), %rsi      # 0x1dbdc
movq %rsi, 0x138(%rbx,%r14,8)
movl $0xb, 0x140(%rbx,%r14,8)
leaq 0xac92(%rip), %r9       # 0x1e981
movq %rbx, %rdi
movl $0xb, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl $0x2, %ebp
movl %ebp, 0x20(%rax)
leaq 0x12e7(%rip), %rcx      # 0x15002
movq %rcx, 0x38(%rax)
movl 0x5e8(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x5e8(%rbx)
leaq (%rax,%rax,2), %r14
leaq 0x9eaf(%rip), %rsi      # 0x1dbe8
movq %rsi, 0x138(%rbx,%r14,8)
movl $0xa, 0x140(%rbx,%r14,8)
leaq 0xacbf(%rip), %r9       # 0x1ea13
movq %rbx, %rdi
movl $0xa, %edx
xorl %ecx, %ecx
movl $0x1, %r8d
callq 0x91e2
movq %rax, 0x148(%rbx,%r14,8)
movl %ebp, 0x20(%rax)
leaq 0x1376(%rip), %rcx      # 0x150f1
movq %rcx, 0x38(%rax)
leaq 0x9e6d(%rip), %rsi      # 0x1dbf3
movq %rbx, %rdi
callq 0x12cb7
movq %rax, %r14
leaq 0x9e60(%rip), %rdx      # 0x1dbf8
leaq 0x1426(%rip), %rcx      # 0x151c5
leaq 0xacfd(%rip), %r9       # 0x1eaa3
movq %rbx, %rdi
movq %rax, %rsi
xorl %r8d, %r8d
callq 0x12e3a
leaq 0x9bdb(%rip), %rdx      # 0x1d996
leaq 0x142e(%rip), %rcx      # 0x151f0
leaq 0xad25(%rip), %r9       # 0x1eaee
movq %rbx, %rdi
movq %r14, %rsi
xorl %r8d, %r8d
callq 0x12e3a
leaq 0x9e20(%rip), %rdx      # 0x1dbfe
leaq 0x145b(%rip), %rcx      # 0x15240
leaq 0xad51(%rip), %r9       # 0x1eb3d
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9e00(%rip), %rdx      # 0x1dc04
leaq 0x14c0(%rip), %rcx      # 0x152cb
leaq 0xad7e(%rip), %r9       # 0x1eb90
movq %rbx, %rdi
movq %r14, %rsi
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x12e3a
leaq 0x9de0(%rip), %rdx      # 0x1dc0a
leaq 0x1537(%rip), %rcx      # 0x15368
leaq 0xadd7(%rip), %r9       # 0x1ec0f
movq %rbx, %rdi
movq %r14, %rsi
xorl %r8d, %r8d
callq 0x12e3a
leaq 0x9dc9(%rip), %rsi      # 0x1dc16
movq %rbx, %rdi
callq 0x12cb7
movq %rax, %r14
leaq 0x9dbc(%rip), %rdx      # 0x1dc1b
leaq 0x1504(%rip), %rcx      # 0x1536a
leaq 0xadec(%rip), %r9       # 0x1ec59
movq %rbx, %rdi
movq %rax, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9d9c(%rip), %rdx      # 0x1dc21
leaq 0x158c(%rip), %rcx      # 0x15418
leaq 0xaddf(%rip), %r9       # 0x1ec72
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9d7b(%rip), %rdx      # 0x1dc26
leaq 0x1614(%rip), %rcx      # 0x154c6
leaq 0xadd1(%rip), %r9       # 0x1ec8a
movq %rbx, %rdi
movq %r14, %rsi
movl $0x2, %r8d
callq 0x12e3a
leaq 0x9d59(%rip), %rdx      # 0x1dc2a
leaq 0x1732(%rip), %rcx      # 0x1560a
leaq 0xadc2(%rip), %r9       # 0x1eca1
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9d38(%rip), %rdx      # 0x1dc2f
leaq 0x17cb(%rip), %rcx      # 0x156c9
leaq 0xadb4(%rip), %r9       # 0x1ecb9
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9d16(%rip), %rdx      # 0x1dc33
leaq 0x1865(%rip), %rcx      # 0x15789
leaq 0xada5(%rip), %r9       # 0x1ecd0
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9cf5(%rip), %rdx      # 0x1dc38
leaq 0x1911(%rip), %rcx      # 0x1585b
leaq 0xad97(%rip), %r9       # 0x1ece8
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9ce4(%rip), %rdx      # 0x1dc4d
leaq 0x1960(%rip), %rcx      # 0x158d0
leaq 0xadd7(%rip), %r9       # 0x1ed4e
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9cc3(%rip), %rdx      # 0x1dc52
leaq 0x19e8(%rip), %rcx      # 0x1597e
leaq 0xae19(%rip), %r9       # 0x1edb6
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9ca2(%rip), %rdx      # 0x1dc57
leaq 0x1a70(%rip), %rcx      # 0x15a2c
leaq 0xae5d(%rip), %r9       # 0x1ee20
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9c62(%rip), %rdx      # 0x1dc3d
leaq 0x1af8(%rip), %rcx      # 0x15ada
leaq 0xaea2(%rip), %r9       # 0x1ee8b
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9c41(%rip), %rdx      # 0x1dc42
leaq 0x1b80(%rip), %rcx      # 0x15b88
leaq 0xaec5(%rip), %r9       # 0x1eed4
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9c20(%rip), %rdx      # 0x1dc47
leaq 0x1c08(%rip), %rcx      # 0x15c36
leaq 0xaeea(%rip), %r9       # 0x1ef1f
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9bff(%rip), %rdx      # 0x1dc4c
leaq 0x1c90(%rip), %rcx      # 0x15ce4
leaq 0xaf44(%rip), %r9       # 0x1ef9f
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9bde(%rip), %rdx      # 0x1dc51
leaq 0x1d82(%rip), %rcx      # 0x15dfc
leaq 0xaf97(%rip), %r9       # 0x1f018
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9bbd(%rip), %rdx      # 0x1dc56
leaq 0x1e74(%rip), %rcx      # 0x15f14
leaq 0xafdc(%rip), %r9       # 0x1f083
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9b9c(%rip), %rdx      # 0x1dc5b
leaq 0x1efc(%rip), %rcx      # 0x15fc2
leaq 0xb022(%rip), %r9       # 0x1f0ef
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9b7c(%rip), %rdx      # 0x1dc61
leaq 0x1f84(%rip), %rcx      # 0x16070
leaq 0xb048(%rip), %r9       # 0x1f13b
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %r8d
callq 0x12e3a
movsd 0x9744(%rip), %xmm0     # 0x1d850
callq 0x8f9f
leaq 0x96ac(%rip), %rdx      # 0x1d7c4
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rcx
callq 0x12dc2
leaq 0x851d(%rip), %rsi      # 0x1c64a
movq %rbx, %rdi
callq 0x12cb7
movq %rax, %r14
leaq 0x9b28(%rip), %rdx      # 0x1dc67
leaq 0x1fd8(%rip), %rcx      # 0x1611e
leaq 0xb046(%rip), %r9       # 0x1f193
movq %rbx, %rdi
movq %rax, %rsi
movl $0x1, %r8d
callq 0x12e3a
leaq 0x9b06(%rip), %rdx      # 0x1dc6b
leaq 0x1ff2(%rip), %rcx      # 0x1615e
leaq 0xb0cd(%rip), %r9       # 0x1f240
movq %rbx, %rdi
movq %r14, %rsi
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0x12e3a
leaq 0x9ae4(%rip), %rdx      # 0x1dc6f
leaq 0x20b2(%rip), %rcx      # 0x16244
leaq 0xb18b(%rip), %r9       # 0x1f324
movq %rbx, %rdi
movq %r14, %rsi
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x12e3a