	.file	"915129.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"1.0"
.LC1:
	.string	"bootstrap"
	.align 8
.LC2:
	.string	"\n\nproc package {cmd pkg} {\n\tif {$cmd eq \"require\"} {\n\t\tforeach path $::auto_path {\n\t\t\tif {[file exists $path/$pkg.tcl]} {\n\t\t\t\tuplevel #0 [list source $path/$pkg.tcl]\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n}\n"
.LC3:
	.string	"bootstrap.tcl"
	.text
	.globl	Jim_bootstrapInit
	.type	Jim_bootstrapInit, @function
Jim_bootstrapInit:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L2
	mov	eax, 1
	jmp	.L3
.L2:
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC2[rip]
	mov	edx, 1
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	Jim_EvalSource
.L3:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	Jim_bootstrapInit, .-Jim_bootstrapInit
	.section	.rodata
.LC4:
	.string	"initjimsh"
	.align 8
.LC5:
	.ascii	"\n\n\nproc _jimsh_init {} {\n\trename _jimsh_init {}\n\tglob"
	.ascii	"al jim::exe jim::argv0 tcl_interactive auto_path tcl_platfor"
	.ascii	"m\n\n\n\tif {[exists jim::argv0]} {\n\t\tif {[string match \""
	.ascii	"*/*\" $jim::argv0]} {\n\t\t\tset jim::exe [file join [pwd] $"
	.ascii	"jim::argv0]\n\t\t} else {\n\t\t\tforeach path [split [env PA"
	.ascii	"TH \"\"] $tcl_platform(pathSeparator)] {\n\t\t\t\tset exec ["
	.ascii	"file join [pwd] [string map {\\\\ /} $path] $jim::argv0]\n\t"
	.ascii	"\t\t\tif {[file executable $exec]} {\n\t\t\t\t\tset jim::exe"
	.ascii	" $exec\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n"
	.ascii	"\tlappend p {*}[split [env JIMLIB {}] $tcl_platform(pathSepa"
	.ascii	"rator)]\n\tif {[exists jim::exe]} {\n\t\tlappend p [file dir"
	.ascii	"name $jim::exe]\n\t}\n\tlappend p {*}$auto_path\n\tset auto_"
	.ascii	"path $p\n\n\tif {$tcl_interactive && [env HOME {}] ne \"\"} "
	.ascii	"{\n"
	.string	"\t\tforeach src {.jimrc jimrc.tcl} {\n\t\t\tif {[file exists [env HOME]/$src]} {\n\t\t\t\tuplevel #0 source [env HOME]/$src\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\"\n}\n\nif {$tcl_platform(platform) eq \"windows\"} {\n\tset jim::argv0 [string map {\\\\ /} $jim::argv0]\n}\n\n_jimsh_init\n"
.LC6:
	.string	"initjimsh.tcl"
	.text
	.globl	Jim_initjimshInit
	.type	Jim_initjimshInit, @function
Jim_initjimshInit:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L5
	mov	eax, 1
	jmp	.L6
.L5:
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC5[rip]
	mov	edx, 1
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	call	Jim_EvalSource
.L6:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	Jim_initjimshInit, .-Jim_initjimshInit
	.section	.rodata
.LC7:
	.string	"glob"
	.align 8
.LC8:
	.ascii	"\n\n\n\n\n\n\npackage require readdir\n\n\nproc glob.globdir"
	.ascii	" {dir pattern} {\n\tif {[file exists $dir/$pattern]} {\n\n\t"
	.ascii	"\treturn [list $pattern]\n\t}\n\n\tset result {}\n\tset file"
	.ascii	"s [readdir $dir]\n\tlappend files . ..\n\n\tforeach name $fi"
	.ascii	"les {\n\t\tif {[string match $pattern $name]} {\n\n\t\t\tif "
	.ascii	"{[string index $name 0] eq \".\" && [string index $pattern 0"
	.ascii	"] ne \".\"} {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tlappend resu"
	.ascii	"lt $name\n\t\t}\n\t}\n\n\treturn $result\n}\n\n\n\n\nproc gl"
	.ascii	"ob.explode {pattern} {\n\tset oldexp {}\n\tset newexp {\"\"}"
	.ascii	"\n\n\twhile 1 {\n\t\tset oldexp $newexp\n\t\tset newexp {}\n"
	.ascii	"\t\tset ob [string first \\{ $pattern]\n\t\tset cb [string f"
	.ascii	"irst \\} $pattern]\n\n\t\tif {$ob < $cb && $ob != -1} {\n\t\t"
	.ascii	"\tset mid [string range $pattern 0 $ob-1]\n\t\t\tset subexp "
	.ascii	"[lassign [glob.explode [string range $pattern $ob+1 end]] pa"
	.ascii	"ttern]\n\t\t\tif {$pattern eq \"\"} {\n\t\t\t\terror \"unmat"
	.ascii	"ched open brace in glob pattern\"\n\t\t\t}\n\t\t\tset patter"
	.ascii	"n [string range $pattern 1 end]\n\n\t\t\tforeach subs $subex"
	.ascii	"p {\n\t\t\t\tforeach sub [split $subs ,] {\n\t\t\t\t\tforeac"
	.ascii	"h old $oldexp {\n\t\t\t\t\t\tlappend newexp $old$mid$sub\n\t"
	.ascii	"\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} elseif {$cb != -1} {\n\t"
	.ascii	"\t\tset suf  [string range $pattern 0 $cb-1]\n\t\t\tset rest"
	.ascii	" [string range $pattern $cb end]\n\t\t\tbreak\n\t\t} else {\n"
	.ascii	"\t\t\tset suf  $pattern\n\t\t\tset rest \"\"\n\t\t\tbreak\n\t"
	.ascii	"\t}\n\t}\n\n\tforeach old $oldexp {\n\t\tlappend newexp $old"
	.ascii	"$suf\n\t}\n\tlist $rest {*}$newexp\n}\n\n\n\nproc glob.glob "
	.ascii	"{base pattern} {\n\tset dir [file dirname $pattern]\n\tif {$"
	.ascii	"pattern eq $dir || $pattern eq \"\"} {\n\t\treturn [list [fi"
	.ascii	"le join $base $dir] $pattern]\n\t} elseif {$pattern eq [file"
	.ascii	" tail $pattern]} {\n\t\tset dir \"\"\n\t}\n\n\n\tset dirlist"
	.ascii	" [glob.glob $base $dir]\n\tset pattern [file tail $pattern]\n"
	.ascii	"\n\n\tset result {}\n\tforeach {realdir dir} $dirlist {\n\t\t"
	.ascii	"if {![file isdir $realdir]} {\n\t\t\tcontinue\n\t\t}\n\t\tif"
	.ascii	" {[string index $dir end] ne \"/\" && $dir ne \"\"} {\n\t\t\t"
	.ascii	"append dir /\n\t\t}\n\t\tforeach name [glob.globdir $realdir"
	.ascii	" $pattern] {\n\t\t\tlappend result [file join $realdir $name"
	.ascii	"] $dir$name\n\t\t}\n\t}\n\treturn $result\n}\n\n\n\n\n\n\n\n"
	.ascii	"\n\n\n\n\nproc glob {args} {\n\tset nocomplain 0\n\tset base"
	.ascii	" \"\"\n\tset tails 0\n\n\tset n 0\n\tforeach arg $args {\n\t"
	.ascii	"\tif {[info exists param"
	.ascii	"]} {\n\t\t\tset $param $arg\n\t\t\tunset param\n\t\t\tincr n"
	.ascii	"\n\t\t\tcontinue\n\t\t}\n\t\tswitch -glob -- $arg {\n\t\t\t-"
	.ascii	"d* {\n\t\t\t\tset switch $arg\n\t\t\t\tset param base\n\t\t\t"
	.ascii	"}\n\t\t\t-n* {\n\t\t\t\tset nocomplain 1\n\t\t\t}\n\t\t\t-ta"
	.ascii	"* {\n\t\t\t\tset tails 1\n\t\t\t}\n\t\t\t-- {\n\t\t\t\tincr "
	.ascii	"n\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t-* {\n\t\t\t\treturn -code "
	.ascii	"error \"bad option \\\"$arg\\\": must be -directory, -nocomp"
	.ascii	"lain, -tails, or --\"\n\t\t\t}\n\t\t\t*  {\n\t\t\t\tbreak\n\t"
	.ascii	"\t\t}\n\t\t}\n\t\tincr n\n\t}\n\tif {[info exists param]} {\n"
	.ascii	"\t\treturn -code error \"missing argument to \\\"$switch\\\""
	.ascii	"\"\n\t}\n\tif {[llength $args] <= $n} {\n\t\treturn -code er"
	.ascii	"ror \"wrong # args: should be \\\"glob ?options? pattern ?pa"
	.ascii	"ttern ...?\\\"\"\n\t}\n\n\tset args [lrange $args $n end]\n\n"
	.ascii	"\tset result {}\n\tforeach pattern $args {\n\t\tset escpatte"
	.ascii	"rn [string map {\n\t\t\t\\\\\\\\ \\x01 \\\\\\{ \\x02 \\\\\\}"
	.ascii	" \\x03 \\\\, \\x04\n\t\t} $pattern]\n\t\tset patexps [lassig"
	.ascii	"n [glob.explode $escpattern] rest]\n\t\tif {$rest ne \"\"} {"
	.ascii	"\n\t\t\treturn -code error \"unmatched close brace in glob p"
	.ascii	"attern\"\n\t\t}\n\t\tforeach patexp $patexps {\n\t\t\tset pa"
	.ascii	"texp [string map {\n\t\t\t\t\\x01 \\\\\\\\ \\x02 \\{ \\x03 \\"
	.ascii	"} \\x04 ,\n\t\t\t} $patexp]\n\t\t\tforeach {realname name} ["
	.ascii	"glob.glob $base $patexp] {\n\t\t\t\tincr n\n\t\t\t\tif {$tai"
	.ascii	"ls} {\n\t\t\t\t\tlappend result $name\n\t\t\t\t}"
	.string	" else {\n\t\t\t\t\tlappend result [file join $base $name]\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif {!$nocomplain && [llength $result] == 0} {\n\t\tset s $(([llength $args] > 1) ? \"s\" : \"\")\n\t\treturn -code error \"no files matched glob pattern$s \\\"[join $args]\\\"\"\n\t}\n\n\treturn $result\n}\n"
.LC9:
	.string	"glob.tcl"
	.text
	.globl	Jim_globInit
	.type	Jim_globInit, @function
Jim_globInit:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L8
	mov	eax, 1
	jmp	.L9
.L8:
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC8[rip]
	mov	edx, 1
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	call	Jim_EvalSource
.L9:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	Jim_globInit, .-Jim_globInit
	.section	.rodata
.LC10:
	.string	"stdlib"
	.align 8
.LC11:
	.ascii	"\n\n\nproc lambda {arglist args} {\n\ttailcall proc [ref {} "
	.ascii	"function lambda.finalizer] $arglist {*}$args\n}\n\nproc lamb"
	.ascii	"da.finalizer {name val} {\n\trename $name {}\n}\n\n\nproc cu"
	.ascii	"rry {args} {\n\talias [ref {} function lambda.finalizer] {*}"
	.ascii	"$args\n}\n\n\n\n\n\n\n\n\n\nproc function {value} {\n\tretur"
	.ascii	"n $value\n}\n\n\n\n\nproc stacktrace {{skip 0}} {\n\tset tra"
	.ascii	"ce {}\n\tincr skip\n\tforeach level [range $skip [info level"
	.ascii	"]] {\n\t\tlappend trace {*}[info frame -$level]\n\t}\n\tretu"
	.ascii	"rn $trace\n}\n\n\nproc stackdump {stacktrace} {\n\tset lines"
	.ascii	" {}\n\tforeach {l f p} [lreverse $stacktrace] {\n\t\tset lin"
	.ascii	"e {}\n\t\tif {$p ne \"\"} {\n\t\t\tappend line \"in procedur"
	.ascii	"e '$p' \"\n\t\t\tif {$f ne \"\"} {\n\t\t\t\tappend line \"ca"
	.ascii	"lled \"\n\t\t\t}\n\t\t}\n\t\tif {$f ne \"\"} {\n\t\t\tappend"
	.ascii	" line \"at file \\\"$f\\\", line $l\"\n\t\t}\n\t\tif {$line "
	.ascii	"ne \"\"} {\n\t\t\tlappend lines $line\n\t\t}\n\t}\n\tjoin $l"
	.ascii	"ines \\n\n}\n\n\n\nproc errorInfo {msg {stacktrace \"\"}} {\n"
	.ascii	"\tif {$stacktrace eq \"\"} {\n\n\t\tset stacktrace [info sta"
	.ascii	"cktrace]\n\n\t\tlappend stacktrace {*}[stacktrace 1]\n\t}\n\t"
	.ascii	"lassign $stacktrace p f l\n\tif {$f ne \"\"} {\n\t\tset resu"
	.ascii	"lt \"$f:$l: Error: \"\n\t}\n\tappend result \"$msg\\n\"\n\ta"
	.ascii	"ppend result [stackdump $stacktrace]\n\n\n\tstring trim $res"
	.ascii	"ult\n}\n\n\n\nproc {info nameofexecutable} {} {\n\tif {[exis"
	.ascii	"ts ::jim::exe]} {\n\t\treturn $::jim::exe\n\t}\n}\n\n\nproc "
	.ascii	"{dict with} {&dictVar {args key} script} {\n\tset keys {}\n\t"
	.ascii	"foreach {n v} [dict get $dictVar {*}$key] {\n\t\tupvar $n va"
	.ascii	"r_$n\n\t\tset var_$n $v\n\t\tlappend keys $n\n\t}\n\tcatch {"
	.ascii	"uplevel 1 $script} msg opts\n\tif {[info exists dictVar] && "
	.ascii	"([llength $key] == 0 || [dict exists $dictVar {*}$key])} {\n"
	.ascii	"\t\tforeach n $keys {\n\t\t\tif {[info exists var_$n]} {\n\t"
	.ascii	"\t\t\tdict set dictVar {*}$key $n [set var_$n]\n\t\t\t} else"
	.ascii	" {\n\t\t\t\tdict unset dictVar {*}$key $n\n\t\t\t}\n\t\t}\n\t"
	.ascii	"}\n\treturn {*}$opts $msg\n}\n\n\nproc {dict update} {&varNa"
	.ascii	"me args script} {\n\tset keys {}\n\tforeach {n v} $args {\n\t"
	.ascii	"\tupvar $v var_$v\n\t\tif {[dict exists $varName $n]} {\n\t\t"
	.ascii	"\tset var_$v [dict get $varName $n]\n\t\t}\n\t}\n\tcatch {up"
	.ascii	"level 1 $script} msg opts\n\tif {[info exists varName]} {\n\t"
	.ascii	"\tforeach {n v} $args {\n\t\t\tif {[info exists var_$v]} {\n"
	.ascii	"\t\t\t\tdict set varName $n [set var_$v]\n\t\t\t} els"
	.ascii	"e {\n\t\t\t\tdict unset varName $n\n\t\t\t}\n\t\t}\n\t}\n\tr"
	.ascii	"eturn {*}$opts $msg\n}\n\n\n\nproc {dict merge} {dict args} "
	.ascii	"{\n\tforeach d $args {\n\n\t\tdict size $d\n\t\tforeach {k v"
	.ascii	"} $d {\n\t\t\tdict set dict $k $v\n\t\t}\n\t}\n\treturn $dic"
	.ascii	"t\n}\n\nproc {dict replace} {dictionary {args {key value}}} "
	.ascii	"{\n\tif {[llength ${key value}] % 2} {\n\t\ttailcall {dict r"
	.ascii	"eplace}\n\t}\n\ttailcall dict merge $dictionary ${key value}"
	.ascii	"\n}\n\n\nproc {dict lappend} {varName key {args value}} {\n\t"
	.ascii	"upvar $varName dict\n\tif {[exists dict] && [dict exists $di"
	.ascii	"ct $key]} {\n\t\tset list [dict get $dict $key]\n\t}\n\tlapp"
	.ascii	"end list {*}$value\n\tdict set dict $key $list\n}\n\n\nproc "
	.ascii	"{dict append} {varName key {args value}} {\n\tupvar $varName"
	.ascii	" dict\n\tif {[exists dict] && [dict exists $dict $key]} {\n\t"
	.ascii	"\tset str [dict get $dict $key]\n\t}\n\tappend str {*}$value"
	.ascii	"\n\tdict set dict $key $str\n}\n\n\nproc {dict incr} {varNam"
	.ascii	"e key {increment 1}} {\n\tupvar $varName dict\n\tif {[exists"
	.ascii	" dict] && [dict exists $dict $key]} {\n\t\tset value [dict g"
	.ascii	"et $dict $key]\n\t}\n\tincr value $increment\n\tdict set dic"
	.ascii	"t $key $value\n}\n\n\nproc {dict remove} {dictionary {args k"
	.ascii	"ey}} {\n\tforeach k $key {\n\t\tdict unset dictionary $k\n\t"
	.ascii	"}\n\treturn $dictionary\n}\n\n\nproc {dict values} {dictiona"
	.ascii	"ry {pattern *"
	.string	"}} {\n\tdict keys [lreverse $dictionary] $pattern\n}\n\n\nproc {dict for} {vars dictionary script} {\n\tif {[llength $vars] != 2} {\n\t\treturn -code error \"must have exactly two variable names\"\n\t}\n\tdict size $dictionary\n\ttailcall foreach $vars $dictionary $script\n}\n"
.LC12:
	.string	"stdlib.tcl"
	.text
	.globl	Jim_stdlibInit
	.type	Jim_stdlibInit, @function
Jim_stdlibInit:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L11
	mov	eax, 1
	jmp	.L12
.L11:
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC11[rip]
	mov	edx, 1
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	Jim_EvalSource
.L12:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	Jim_stdlibInit, .-Jim_stdlibInit
	.section	.rodata
.LC13:
	.string	"tclcompat"
	.align 8
.LC14:
	.ascii	"\n\n\n\n\n\n\n\nset env [env]\n\n\nif {[info commands stdout"
	.ascii	"] ne \"\"} {\n\n\tforeach p {gets flush close eof seek tell}"
	.ascii	" {\n\t\tproc $p {chan args} {p} {\n\t\t\ttailcall $chan $p {"
	.ascii	"*}$args\n\t\t}\n\t}\n\tunset p\n\n\n\n\tproc puts {{-nonewli"
	.ascii	"ne {}} {chan stdout} msg} {\n\t\tif {${-nonewline} ni {-none"
	.ascii	"wline {}}} {\n\t\t\ttailcall ${-nonewline} puts $msg\n\t\t}\n"
	.ascii	"\t\ttailcall $chan puts {*}${-nonewline} $msg\n\t}\n\n\n\n\n"
	.ascii	"\n\tproc read {{-nonewline {}} chan} {\n\t\tif {${-nonewline"
	.ascii	"} ni {-nonewline {}}} {\n\t\t\ttailcall ${-nonewline} read {"
	.ascii	"*}${chan}\n\t\t}\n\t\ttailcall $chan read {*}${-nonewline}\n"
	.ascii	"\t}\n\n\tproc fconfigure {f args} {\n\t\tforeach {n v} $args"
	.ascii	" {\n\t\t\tswitch -glob -- $n {\n\t\t\t\t-bl* {\n\t\t\t\t\t$f"
	.ascii	" ndelay $(!$v)\n\t\t\t\t}\n\t\t\t\t-bu* {\n\t\t\t\t\t$f buff"
	.ascii	"ering $v\n\t\t\t\t}\n\t\t\t\t-tr* {\n\n\t\t\t\t}\n\t\t\t\tde"
	.ascii	"fault {\n\t\t\t\t\treturn -code error \"fconfigure: unknown "
	.ascii	"option $n\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\nproc fil"
	.ascii	"eevent {args} {\n\ttailcall {*}$args\n}\n\n\n\n\nproc parray"
	.ascii	" {arrayname {pattern *} {puts puts}} {\n\tupvar $arrayname a"
	.ascii	"\n\n\tset max 0\n\tforeach name [array names a $pattern]] {\n"
	.ascii	"\t\tif {[string length $name] > $max} {\n\t\t\tset max [stri"
	.ascii	"ng length $name]\n\t\t}\n\t}\n\tincr max [string length $arr"
	.ascii	"ayname]\n\tincr max 2\n\tforeach name [lsort [array names a "
	.ascii	"$pattern]] {\n\t\t$puts [format \"%-${max}s = %s\" $arraynam"
	.ascii	"e\\($name\\) $a($name)]\n\t}\n}\n\n\nproc {file copy} {{forc"
	.ascii	"e {}} source target} {\n\ttry {\n\t\tif {$force ni {{} -forc"
	.ascii	"e}} {\n\t\t\terror \"bad option \\\"$force\\\": should be -f"
	.ascii	"orce\"\n\t\t}\n\n\t\tset in [open $source rb]\n\n\t\tif {[fi"
	.ascii	"le exists $target]} {\n\t\t\tif {$force eq \"\"} {\n\t\t\t\t"
	.ascii	"error \"error copying \\\"$source\\\" to \\\"$target\\\": fi"
	.ascii	"le already exists\"\n\t\t\t}\n\n\t\t\tif {$source eq $target"
	.ascii	"} {\n\t\t\t\treturn\n\t\t\t}\n\n\n\t\t\tfile stat $source ss"
	.ascii	"\n\t\t\tfile stat $target ts\n\t\t\tif {$ss(dev) == $ts(dev)"
	.ascii	" && $ss(ino) == $ts(ino) && $ss(ino)} {\n\t\t\t\treturn\n\t\t"
	.ascii	"\t}\n\t\t}\n\t\tset out [open $target wb]\n\t\t$in copyto $o"
	.ascii	"ut\n\t\t$out close\n\t} on error {msg opts} {\n\t\tincr opts"
	.ascii	"(-level)\n\t\treturn {*}$opts $msg\n\t} finally {\n\t\tcatch"
	.ascii	" {$in close}\n\t}\n}\n\n\n\nproc popen {cmd {mode r}} {\n\tl"
	.ascii	"assign [socket pipe] r w\n\ttry {\n\t\tif {[string match \"w"
	.ascii	"*\" $mode]} {\n\t\t\tlappend cmd <@$r &\n\t\t\tset pids "
	.ascii	"[exec {*}$cmd]\n\t\t\t$r close\n\t\t\tset f $w\n\t\t} else {"
	.ascii	"\n\t\t\tlappend cmd >@$w &\n\t\t\tset pids [exec {*}$cmd]\n\t"
	.ascii	"\t\t$w close\n\t\t\tset f $r\n\t\t}\n\t\tlambda {cmd args} {"
	.ascii	"f pids} {\n\t\t\tif {$cmd eq \"pid\"} {\n\t\t\t\treturn $pid"
	.ascii	"s\n\t\t\t}\n\t\t\tif {$cmd eq \"close\"} {\n\t\t\t\t$f close"
	.ascii	"\n\n\t\t\t\tforeach p $pids { os.wait $p }\n\t\t\t\treturn\n"
	.ascii	"\t\t\t}\n\t\t\ttailcall $f $cmd {*}$args\n\t\t}\n\t} on erro"
	.ascii	"r {error opts} {\n\t\t$r close\n\t\t$w close\n\t\terror $err"
	.ascii	"or\n\t}\n}\n\n\nlocal proc pid {{channelId {}}} {\n\tif {$ch"
	.ascii	"annelId eq \"\"} {\n\t\ttailcall upcall pid\n\t}\n\tif {[cat"
	.ascii	"ch {$channelId tell}]} {\n\t\treturn -code error \"can not f"
	.ascii	"ind channel named \\\"$channelId\\\"\"\n\t}\n\tif {[catch {$"
	.ascii	"channelId pid} pids]} {\n\t\treturn \"\"\n\t}\n\treturn $pid"
	.ascii	"s\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nproc try {args} {\n\tset c"
	.ascii	"atchopts {}\n\twhile {[string match -* [lindex $args 0]]} {\n"
	.ascii	"\t\tset args [lassign $args opt]\n\t\tif {$opt eq \"--\"} {\n"
	.ascii	"\t\t\tbreak\n\t\t}\n\t\tlappend catchopts $opt\n\t}\n\tif {["
	.ascii	"llength $args] == 0} {\n\t\treturn -code error {wrong # args"
	.ascii	": should be \"try ?options? script ?argument ...?\"}\n\t}\n\t"
	.ascii	"set args [lassign $args script]\n\tset code [catch -eval {*}"
	.ascii	"$catchopts {uplevel 1 $script} msg opts]\n\n\tset handled 0\n"
	.ascii	"\n\tforeach {on codes vars script} $args {\n\t\tswitch -- $o"
	.ascii	"n \\\n\t\t\ton {\n\t\t\t\tif {!$handled && ($codes eq \"*\" "
	.ascii	"|| [info returncode $code] in $codes)} {\n\t\t\t\t\tlassign "
	.ascii	"$vars msgvar optsvar\n\t\t\t\t\tif {$msgvar ne \"\"} {\n\t\t"
	.ascii	"\t\t\t\tupvar $msgvar hmsg\n\t\t\t\t\t\tset hmsg $msg\n\t\t\t"
	.ascii	"\t\t}\n\t\t\t\t\tif {$optsvar ne \"\"} {\n\t\t\t\t\t\tupvar "
	.ascii	"$optsvar hopts\n\t\t\t\t\t\tset hopts $opts\n\t\t\t\t\t}\n\n"
	.ascii	"\t\t\t\t\tset code [catch {uplevel 1 $script} msg opts]\n\t\t"
	.ascii	"\t\t\tincr handled\n\t\t\t\t}\n\t\t\t} \\\n\t\t\tfinally {\n"
	.ascii	"\t\t\t\tset finalcode [catch {uplevel 1 $codes} finalmsg fin"
	.ascii	"alopts]\n\t\t\t\tif {$finalcode} {\n\n\t\t\t\t\tset code $fi"
	.ascii	"nalcode\n\t\t\t\t\tset msg $finalmsg\n\t\t\t\t\tset opts $fi"
	.ascii	"nalopts\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t} \\\n\t\t\tdefault"
	.ascii	" {\n\t\t\t\treturn -code error \"try: expected 'on' or 'fina"
	.ascii	"lly', got '$on'\"\n\t\t\t}\n\t}\n\n\tif {$code} {\n\t\tincr "
	.ascii	"opts(-level)\n\t\treturn {*}$opts $msg\n\t}\n\treturn $msg\n"
	.ascii	"}\n\n\n\nproc throw {code {msg \"\"}} {\n\treturn -code $cod"
	.ascii	"e $msg\n}\n\n\nproc {file delete force} {path} {\n\tforeach "
	.ascii	"e [readdir $path] {\n\t\tfile delete -f"
	.string	"orce $path/$e\n\t}\n\tfile delete $path\n}\n"
.LC15:
	.string	"tclcompat.tcl"
	.text
	.globl	Jim_tclcompatInit
	.type	Jim_tclcompatInit, @function
Jim_tclcompatInit:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC13[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L14
	mov	eax, 1
	jmp	.L15
.L14:
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC14[rip]
	mov	edx, 1
	lea	rsi, .LC15[rip]
	mov	rdi, rax
	call	Jim_EvalSource
.L15:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	Jim_tclcompatInit, .-Jim_tclcompatInit
	.type	stdio_writer, @function
stdio_writer:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fwrite@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	stdio_writer, .-stdio_writer
	.type	stdio_reader, @function
stdio_reader:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	stdio_reader, .-stdio_reader
	.type	stdio_getline, @function
stdio_getline:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	fgets@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	stdio_getline, .-stdio_getline
	.type	stdio_error, @function
stdio_error:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	jne	.L23
	mov	eax, 0
	jmp	.L24
.L23:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	clearerr@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L25
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	je	.L25
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	jne	.L26
.L25:
	mov	eax, 0
	jmp	.L24
.L26:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 104
	jne	.L27
	mov	eax, 0
	jmp	.L24
.L27:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 103
	je	.L28
	mov	eax, 0
	jmp	.L24
.L28:
	mov	eax, 1
.L24:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	stdio_error, .-stdio_error
	.type	stdio_strerror, @function
stdio_strerror:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	stdio_strerror, .-stdio_strerror
	.section	.data.rel.ro.local,"aw"
	.align 32
	.type	stdio_fops, @object
	.size	stdio_fops, 48
stdio_fops:
	.quad	stdio_writer
	.quad	stdio_reader
	.quad	stdio_getline
	.quad	stdio_error
	.quad	stdio_strerror
	.quad	0
	.text
	.type	JimAioErrorString, @function
JimAioErrorString:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L32
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L32
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
	jmp	.L33
.L32:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
.L33:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	JimAioErrorString, .-JimAioErrorString
	.section	.rodata
.LC16:
	.string	"%#s: %s"
	.text
	.type	JimAioSetError, @function
JimAioSetError:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L35
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	JimAioErrorString
	mov	rcx, rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L38
.L35:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	JimAioErrorString
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L37
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L37:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L38:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	JimAioSetError, .-JimAioSetError
	.type	JimAioDelProc, @function
JimAioDelProc:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L40
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L40:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	and	eax, 1
	test	eax, eax
	jne	.L41
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	fclose@PLT
.L41:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	JimAioDelProc, .-JimAioDelProc
	.section	.rodata
.LC17:
	.string	"-nonewline"
	.align 8
.LC18:
	.string	"invalid parameter: negative len"
	.text
	.type	aio_cmd_read, @function
aio_cmd_read:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 368
	mov	QWORD PTR -344[rbp], rdi
	mov	DWORD PTR -348[rbp], esi
	mov	QWORD PTR -360[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -344[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -312[rbp], rax
	mov	DWORD PTR -332[rbp], 0
	mov	QWORD PTR -320[rbp], -1
	cmp	DWORD PTR -348[rbp], 0
	je	.L43
	mov	rax, QWORD PTR -360[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -344[rbp]
	lea	rdx, .LC17[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L43
	mov	DWORD PTR -332[rbp], 1
	add	QWORD PTR -360[rbp], 8
	sub	DWORD PTR -348[rbp], 1
.L43:
	cmp	DWORD PTR -348[rbp], 1
	jne	.L44
	mov	rax, QWORD PTR -360[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -320[rbp]
	mov	rax, QWORD PTR -344[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L45
	mov	eax, 1
	jmp	.L59
.L45:
	mov	rax, QWORD PTR -320[rbp]
	test	rax, rax
	jns	.L47
	mov	rax, QWORD PTR -344[rbp]
	mov	edx, -1
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -304[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -304[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -344[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L48
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -344[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L48:
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR -304[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L59
.L44:
	cmp	DWORD PTR -348[rbp], 0
	je	.L47
	mov	eax, -1
	jmp	.L59
.L47:
	mov	rax, QWORD PTR -344[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -296[rbp], rax
	jmp	.L49
.L54:
	mov	rax, QWORD PTR -320[rbp]
	cmp	rax, -1
	jne	.L50
	mov	DWORD PTR -328[rbp], 256
	jmp	.L51
.L50:
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, 256
	cmp	rax, 256
	cmovg	rax, rdx
	mov	DWORD PTR -328[rbp], eax
.L51:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	r8, QWORD PTR 8[rax]
	mov	edx, DWORD PTR -328[rbp]
	lea	rcx, -272[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -324[rbp], eax
	cmp	DWORD PTR -324[rbp], 0
	jle	.L52
	mov	ecx, DWORD PTR -324[rbp]
	lea	rdx, -272[rbp]
	mov	rsi, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -344[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	mov	rax, QWORD PTR -320[rbp]
	cmp	rax, -1
	je	.L52
	mov	rax, QWORD PTR -320[rbp]
	mov	edx, DWORD PTR -324[rbp]
	movsx	rdx, edx
	sub	rax, rdx
	mov	QWORD PTR -320[rbp], rax
.L52:
	mov	eax, DWORD PTR -324[rbp]
	cmp	eax, DWORD PTR -328[rbp]
	jne	.L61
.L49:
	mov	rax, QWORD PTR -320[rbp]
	test	rax, rax
	jne	.L54
	jmp	.L53
.L61:
	nop
.L53:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	rdx
	test	eax, eax
	je	.L55
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -344[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 1
	jmp	.L59
.L55:
	cmp	DWORD PTR -332[rbp], 0
	je	.L56
	lea	rdx, -336[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -288[rbp], rax
	mov	eax, DWORD PTR -336[rbp]
	test	eax, eax
	jle	.L56
	mov	eax, DWORD PTR -336[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -288[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L56
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 20[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	eax, DWORD PTR 20[rax]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L56:
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -344[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L58
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -344[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L58:
	mov	rax, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L59:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L60
	call	__stack_chk_fail@PLT
.L60:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	aio_cmd_read, .-aio_cmd_read
	.section	.rodata
.LC19:
	.string	"Not a filehandle: \"%#s\""
	.text
	.globl	Jim_AioFile
	.type	Jim_AioFile, @function
Jim_AioFile:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L63
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L63
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, JimAioSubCmdProc[rip]
	cmp	rax, rdx
	jne	.L63
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	jmp	.L64
.L63:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 0
.L64:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	Jim_AioFile, .-Jim_AioFile
	.globl	Jim_AioFilehandle
	.type	Jim_AioFilehandle, @function
Jim_AioFilehandle:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_AioFile
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L66
	mov	eax, 0
	jmp	.L67
.L66:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
.L67:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	Jim_AioFilehandle, .-Jim_AioFilehandle
	.type	aio_cmd_copy, @function
aio_cmd_copy:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -40[rbp], 0
	movabs	rax, 9223372036854775807
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_AioFile
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L69
	mov	eax, 1
	jmp	.L81
.L69:
	cmp	DWORD PTR -76[rbp], 2
	jne	.L72
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L72
	mov	eax, 1
	jmp	.L81
.L77:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	r8, QWORD PTR 8[rax]
	lea	rcx, -49[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	cmp	eax, 1
	jne	.L83
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	r8, QWORD PTR [rax]
	lea	rcx, -49[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	cmp	eax, 1
	jne	.L84
	add	QWORD PTR -40[rbp], 1
.L72:
	mov	rax, QWORD PTR -48[rbp]
	cmp	QWORD PTR -40[rbp], rax
	jl	.L77
	jmp	.L76
.L83:
	nop
	jmp	.L76
.L84:
	nop
.L76:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	rdx
	test	eax, eax
	jne	.L78
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rdx
	test	eax, eax
	je	.L79
.L78:
	mov	eax, 1
	jmp	.L81
.L79:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L80
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L80:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L81:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L82
	call	__stack_chk_fail@PLT
.L82:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	aio_cmd_copy, .-aio_cmd_copy
	.type	aio_cmd_gets, @function
aio_cmd_gets:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 352
	mov	QWORD PTR -328[rbp], rdi
	mov	DWORD PTR -332[rbp], esi
	mov	QWORD PTR -344[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -304[rbp], rax
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -328[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -296[rbp], rax
.L89:
	mov	BYTE PTR -17[rbp], 95
	mov	rax, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	r8, QWORD PTR 16[rax]
	lea	rcx, -272[rbp]
	mov	rax, QWORD PTR -304[rbp]
	mov	edx, 256
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	test	rax, rax
	je	.L101
	movzx	eax, BYTE PTR -17[rbp]
	test	al, al
	jne	.L88
	movzx	eax, BYTE PTR -18[rbp]
	cmp	al, 10
	je	.L88
	lea	rdx, -272[rbp]
	mov	rsi, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	ecx, 255
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L89
.L88:
	lea	rax, -272[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -308[rbp], eax
	cmp	DWORD PTR -308[rbp], 0
	je	.L90
	mov	eax, DWORD PTR -308[rbp]
	sub	eax, 1
	cdqe
	movzx	eax, BYTE PTR -272[rbp+rax]
	cmp	al, 10
	jne	.L90
	sub	DWORD PTR -308[rbp], 1
.L90:
	mov	ecx, DWORD PTR -308[rbp]
	lea	rdx, -272[rbp]
	mov	rsi, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L87
.L101:
	nop
.L87:
	mov	rax, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -304[rbp]
	mov	rdi, rax
	call	rdx
	test	eax, eax
	je	.L91
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 1
	jmp	.L99
.L91:
	cmp	DWORD PTR -332[rbp], 0
	je	.L93
	mov	rax, QWORD PTR -344[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L94
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 1
	jmp	.L99
.L94:
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	Jim_Length
	mov	DWORD PTR -308[rbp], eax
	cmp	DWORD PTR -308[rbp], 0
	jne	.L95
	mov	rax, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	je	.L95
	mov	DWORD PTR -308[rbp], -1
.L95:
	mov	eax, DWORD PTR -308[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L96
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L96:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L97
.L93:
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -288[rbp], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -288[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L98
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -328[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L98:
	mov	rax, QWORD PTR -328[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	QWORD PTR [rax], rdx
.L97:
	mov	eax, 0
.L99:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L100
	call	__stack_chk_fail@PLT
.L100:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	aio_cmd_gets, .-aio_cmd_gets
	.section	.rodata
.LC20:
	.string	"\n"
	.text
	.type	aio_cmd_puts, @function
aio_cmd_puts:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -60[rbp], 2
	jne	.L103
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, .LC17[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	jne	.L104
	mov	eax, -1
	jmp	.L109
.L104:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L106
.L103:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L106:
	lea	rdx, -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	r8, QWORD PTR [rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	edx, DWORD PTR -36[rbp]
	cmp	eax, edx
	jne	.L107
	cmp	DWORD PTR -60[rbp], 2
	je	.L108
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	rcx
	cmp	eax, 1
	jne	.L107
.L108:
	mov	eax, 0
	jmp	.L109
.L107:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAioSetError
	mov	eax, 1
.L109:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L110
	call	__stack_chk_fail@PLT
.L110:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	aio_cmd_puts, .-aio_cmd_puts
	.type	aio_cmd_isatty, @function
aio_cmd_isatty:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	fileno@PLT
	mov	edi, eax
	call	isatty@PLT
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L112
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L112:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	aio_cmd_isatty, .-aio_cmd_isatty
	.type	aio_cmd_flush, @function
aio_cmd_flush:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	fflush@PLT
	cmp	eax, -1
	jne	.L115
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAioSetError
	mov	eax, 1
	jmp	.L116
.L115:
	mov	eax, 0
.L116:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	aio_cmd_flush, .-aio_cmd_flush
	.type	aio_cmd_eof, @function
aio_cmd_eof:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	feof@PLT
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L118
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L118:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	aio_cmd_eof, .-aio_cmd_eof
	.section	.rodata
.LC21:
	.string	"async close not supported"
	.text
	.type	aio_cmd_close, @function
aio_cmd_close:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 3
	jne	.L121
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC21[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L122
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L122:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L123
.L121:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DeleteCommand
.L123:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	aio_cmd_close, .-aio_cmd_close
	.section	.rodata
.LC22:
	.string	"start"
.LC23:
	.string	"current"
.LC24:
	.string	"end"
	.text
	.type	aio_cmd_seek, @function
aio_cmd_seek:
.LFB29:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	cmp	DWORD PTR -44[rbp], 2
	jne	.L125
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC22[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L126
	mov	DWORD PTR -28[rbp], 0
	jmp	.L125
.L126:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC23[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L127
	mov	DWORD PTR -28[rbp], 1
	jmp	.L125
.L127:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC24[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L128
	mov	DWORD PTR -28[rbp], 2
	jmp	.L125
.L128:
	mov	eax, -1
	jmp	.L132
.L125:
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L130
	mov	eax, 1
	jmp	.L132
.L130:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	cmp	eax, -1
	jne	.L131
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAioSetError
	mov	eax, 1
	jmp	.L132
.L131:
	mov	eax, 0
.L132:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L133
	call	__stack_chk_fail@PLT
.L133:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	aio_cmd_seek, .-aio_cmd_seek
	.type	aio_cmd_tell, @function
aio_cmd_tell:
.LFB30:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	ftell@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L135
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L135:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	aio_cmd_tell, .-aio_cmd_tell
	.type	aio_cmd_filename, @function
aio_cmd_filename:
.LFB31:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L138
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L138:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	aio_cmd_filename, .-aio_cmd_filename
	.type	aio_cmd_ndelay, @function
aio_cmd_ndelay:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	esi, 3
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	je	.L141
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L142
	mov	eax, 1
	jmp	.L143
.L142:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	je	.L144
	or	DWORD PTR -36[rbp], 2048
	jmp	.L145
.L144:
	and	DWORD PTR -36[rbp], -2049
.L145:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	esi, 4
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
.L141:
	mov	eax, DWORD PTR -36[rbp]
	sar	eax, 11
	cdqe
	and	eax, 1
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L146
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L146:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L143:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L147
	call	__stack_chk_fail@PLT
.L147:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	aio_cmd_ndelay, .-aio_cmd_ndelay
	.type	aio_cmd_buffering, @function
aio_cmd_buffering:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9d, 1
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, options.22[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L149
	mov	eax, 1
	jmp	.L155
.L149:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, 2
	je	.L151
	cmp	eax, 2
	jg	.L152
	test	eax, eax
	je	.L153
	cmp	eax, 1
	je	.L154
	jmp	.L152
.L153:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, 0
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	setvbuf@PLT
	jmp	.L152
.L154:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, 8192
	mov	edx, 1
	mov	esi, 0
	mov	rdi, rax
	call	setvbuf@PLT
	jmp	.L152
.L151:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, 8192
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	setvbuf@PLT
	nop
.L152:
	mov	eax, 0
.L155:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L156
	call	__stack_chk_fail@PLT
.L156:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	aio_cmd_buffering, .-aio_cmd_buffering
	.section	.rodata
.LC25:
	.string	"read"
.LC26:
	.string	"?-nonewline? ?len?"
.LC27:
	.string	"copyto"
.LC28:
	.string	"handle ?size?"
.LC29:
	.string	"gets"
.LC30:
	.string	"?var?"
.LC31:
	.string	"puts"
.LC32:
	.string	"?-nonewline? str"
.LC33:
	.string	"isatty"
.LC34:
	.string	"flush"
.LC35:
	.string	"eof"
.LC36:
	.string	"close"
.LC37:
	.string	"?r(ead)|w(rite)?"
.LC38:
	.string	"seek"
.LC39:
	.string	"offset ?start|current|end"
.LC40:
	.string	"tell"
.LC41:
	.string	"filename"
.LC42:
	.string	"ndelay"
.LC43:
	.string	"?0|1?"
.LC44:
	.string	"buffering"
.LC45:
	.string	"none|line|full"
	.section	.data.rel.ro.local
	.align 32
	.type	aio_command_table, @object
	.size	aio_command_table, 448
aio_command_table:
	.quad	.LC25
	.quad	.LC26
	.quad	aio_cmd_read
	.value	0
	.value	2
	.zero	4
	.quad	.LC27
	.quad	.LC28
	.quad	aio_cmd_copy
	.value	1
	.value	2
	.zero	4
	.quad	.LC29
	.quad	.LC30
	.quad	aio_cmd_gets
	.value	0
	.value	1
	.zero	4
	.quad	.LC31
	.quad	.LC32
	.quad	aio_cmd_puts
	.value	1
	.value	2
	.zero	4
	.quad	.LC33
	.quad	0
	.quad	aio_cmd_isatty
	.value	0
	.value	0
	.zero	4
	.quad	.LC34
	.quad	0
	.quad	aio_cmd_flush
	.value	0
	.value	0
	.zero	4
	.quad	.LC35
	.quad	0
	.quad	aio_cmd_eof
	.value	0
	.value	0
	.zero	4
	.quad	.LC36
	.quad	.LC37
	.quad	aio_cmd_close
	.value	0
	.value	1
	.value	2
	.zero	2
	.quad	.LC38
	.quad	.LC39
	.quad	aio_cmd_seek
	.value	1
	.value	2
	.zero	4
	.quad	.LC40
	.quad	0
	.quad	aio_cmd_tell
	.value	0
	.value	0
	.zero	4
	.quad	.LC41
	.quad	0
	.quad	aio_cmd_filename
	.value	0
	.value	0
	.zero	4
	.quad	.LC42
	.quad	.LC43
	.quad	aio_cmd_ndelay
	.value	0
	.value	1
	.zero	4
	.quad	.LC44
	.quad	.LC45
	.quad	aio_cmd_buffering
	.value	1
	.value	1
	.zero	4
	.quad	0
	.zero	24
	.text
	.type	JimAioSubCmdProc, @function
JimAioSubCmdProc:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, aio_command_table[rip]
	mov	rdi, rax
	call	Jim_ParseSubCmd
	mov	rsi, rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_CallSubCmd
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	JimAioSubCmdProc, .-JimAioSubCmdProc
	.section	.rodata
.LC46:
	.string	"filename ?mode?"
.LC47:
	.string	"r"
.LC48:
	.string	"::popen"
.LC49:
	.string	"aio.handle%ld"
	.text
	.type	JimAioOpenCommand, @function
JimAioOpenCommand:
.LFB35:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 2
	je	.L160
	cmp	DWORD PTR -60[rbp], 3
	je	.L160
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC46[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L161
.L160:
	cmp	DWORD PTR -60[rbp], 3
	jne	.L162
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	jmp	.L163
.L162:
	lea	rax, .LC47[rip]
.L163:
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	jne	.L164
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	Jim_EvalObjVector
	jmp	.L161
.L164:
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	sub	rsp, 8
	push	QWORD PTR -48[rbp]
	mov	r9d, 0
	lea	r8, .LC49[rip]
	mov	rcx, rdx
	mov	edx, -1
	mov	esi, 0
	mov	rdi, rax
	call	JimMakeChannel
	add	rsp, 16
	test	rax, rax
	sete	al
	movzx	eax, al
.L161:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L165
	call	__stack_chk_fail@PLT
.L165:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	JimAioOpenCommand, .-JimAioOpenCommand
	.type	JimMakeChannel, @function
JimMakeChannel:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	QWORD PTR -112[rbp], rcx
	mov	QWORD PTR -120[rbp], r8
	mov	DWORD PTR -104[rbp], r9d
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -68[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -120[rbp]
	lea	rax, -48[rbp]
	mov	esi, 32
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	cmp	QWORD PTR -96[rbp], 0
	je	.L167
	mov	DWORD PTR -68[rbp], 1
.L167:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -120[rbp]
	lea	rax, -48[rbp]
	mov	esi, 32
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	cmp	QWORD PTR -112[rbp], 0
	jne	.L168
	lea	rcx, -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -112[rbp], rax
.L168:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], edx
	cmp	QWORD PTR -96[rbp], 0
	jne	.L169
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	fopen@PLT
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L169
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAioSetError
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L170
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L170:
	mov	eax, 0
	jmp	.L174
.L169:
	mov	edi, 80
	call	Jim_Alloc
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 80
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	fileno@PLT
	mov	rdx, QWORD PTR -64[rbp]
	mov	DWORD PTR 24[rdx], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L172
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, 1
	mov	esi, 2
	mov	edi, eax
	mov	eax, 0
	call	fcntl@PLT
.L172:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -68[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -104[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, stdio_fops[rip]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rdx, QWORD PTR -64[rbp]
	lea	rsi, -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	lea	r8, JimAioDelProc[rip]
	mov	rcx, rdx
	lea	rdx, JimAioSubCmdProc[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	lea	rcx, -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_MakeGlobalNamespaceName
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L173
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L173:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
.L174:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L175
	call	__stack_chk_fail@PLT
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	JimMakeChannel, .-JimMakeChannel
	.section	.rodata
.LC50:
	.string	"TMPDIR"
.LC51:
	.string	"/tmp/"
.LC52:
	.string	"/"
.LC53:
	.string	"tcl.tmp.XXXXXX"
	.text
	.globl	Jim_MakeTempFile
	.type	Jim_MakeTempFile, @function
Jim_MakeTempFile:
.LFB37:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	cmp	QWORD PTR -48[rbp], 0
	jne	.L177
	lea	rdi, .LC50[rip]
	call	getenv@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L178
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L178
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	je	.L179
.L178:
	lea	rax, .LC51[rip]
	mov	QWORD PTR -16[rbp], rax
.L179:
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L180
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L180
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 1
	lea	rdx, .LC52[rip]
	mov	rdi, rax
	call	Jim_AppendString
.L180:
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, -1
	lea	rdx, .LC53[rip]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L181
.L177:
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
.L181:
	mov	edi, 127
	call	umask@PLT
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	mkstemp@PLT
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	umask@PLT
	cmp	DWORD PTR -28[rbp], 0
	jns	.L182
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAioSetError
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, -1
	jmp	.L183
.L182:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L184
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L184:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -28[rbp]
.L183:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	Jim_MakeTempFile, .-Jim_MakeTempFile
	.section	.rodata
.LC54:
	.string	"aio"
.LC55:
	.string	"open"
.LC56:
	.string	"stdin"
.LC57:
	.string	"stdout"
.LC58:
	.string	"w"
.LC59:
	.string	"stderr"
	.text
	.globl	Jim_aioInit
	.type	Jim_aioInit, @function
Jim_aioInit:
.LFB38:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L186
	mov	eax, 1
	jmp	.L187
.L186:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, JimAioOpenCommand[rip]
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	rsi, QWORD PTR stdin[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	lea	rdx, .LC47[rip]
	push	rdx
	mov	r9d, 0
	lea	r8, .LC56[rip]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	JimMakeChannel
	add	rsp, 16
	mov	rsi, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	lea	rdx, .LC58[rip]
	push	rdx
	mov	r9d, 0
	lea	r8, .LC57[rip]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	JimMakeChannel
	add	rsp, 16
	mov	rsi, QWORD PTR stderr[rip]
	mov	rax, QWORD PTR -8[rbp]
	sub	rsp, 8
	lea	rdx, .LC58[rip]
	push	rdx
	mov	r9d, 0
	lea	r8, .LC59[rip]
	mov	ecx, 0
	mov	edx, -1
	mov	rdi, rax
	call	JimMakeChannel
	add	rsp, 16
	mov	eax, 0
.L187:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	Jim_aioInit, .-Jim_aioInit
	.section	.rodata
.LC60:
	.string	"-nocomplain"
.LC61:
	.string	"?-nocomplain? dirPath"
	.text
	.globl	Jim_ReaddirCmd
	.type	Jim_ReaddirCmd, @function
Jim_ReaddirCmd:
.LFB39:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -52[rbp], 0
	cmp	DWORD PTR -76[rbp], 3
	jne	.L189
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, .LC60[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L189
	mov	DWORD PTR -52[rbp], 1
.L189:
	cmp	DWORD PTR -76[rbp], 2
	je	.L190
	cmp	DWORD PTR -52[rbp], 0
	jne	.L190
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC61[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L191
.L190:
	mov	eax, DWORD PTR -52[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	opendir@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L192
	cmp	DWORD PTR -52[rbp], 0
	je	.L193
	mov	eax, 0
	jmp	.L191
.L193:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L194
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L194:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L191
.L192:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -32[rbp], rax
	jmp	.L195
.L198:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 19[rax]
	cmp	al, 46
	jne	.L196
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 20[rax]
	test	al, al
	jne	.L197
	jmp	.L195
.L197:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 20[rax]
	cmp	al, 46
	jne	.L196
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 21[rax]
	test	al, al
	jne	.L196
	jmp	.L195
.L196:
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 19[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L195:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L198
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	closedir@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L199
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L199:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L191:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	Jim_ReaddirCmd, .-Jim_ReaddirCmd
	.section	.rodata
.LC62:
	.string	"readdir"
	.text
	.globl	Jim_readdirInit
	.type	Jim_readdirInit, @function
Jim_readdirInit:
.LFB40:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L201
	mov	eax, 1
	jmp	.L202
.L201:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, Jim_ReaddirCmd[rip]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	eax, 0
.L202:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	Jim_readdirInit, .-Jim_readdirInit
	.type	FreeRegexpInternalRep, @function
FreeRegexpInternalRep:
.LFB41:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	regfree
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	FreeRegexpInternalRep, .-FreeRegexpInternalRep
	.section	.rodata
.LC63:
	.string	"regexp"
	.section	.data.rel.ro.local
	.align 32
	.type	regexpObjType, @object
	.size	regexpObjType, 40
regexpObjType:
	.quad	.LC63
	.quad	FreeRegexpInternalRep
	.quad	0
	.quad	0
	.long	0
	.zero	4
	.section	.rodata
	.align 8
.LC64:
	.string	"couldn't compile regular expression pattern: %s"
	.text
	.type	SetRegexpFromAny, @function
SetRegexpFromAny:
.LFB42:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	QWORD PTR -160[rbp], rsi
	mov	DWORD PTR -164[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, regexpObjType[rip]
	cmp	rax, rdx
	jne	.L205
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L205
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -164[rbp], eax
	jne	.L205
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 24[rax]
	jmp	.L206
.L205:
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -128[rbp], rax
	mov	edi, 104
	call	Jim_Alloc
	mov	QWORD PTR -120[rbp], rax
	mov	edx, DWORD PTR -164[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	regcomp
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	je	.L207
	lea	rdx, -112[rbp]
	mov	rsi, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR -132[rbp]
	mov	ecx, 100
	mov	edi, eax
	call	regerror
	lea	rdx, -112[rbp]
	mov	rax, QWORD PTR -152[rbp]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	regfree
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, 0
	jmp	.L206
.L207:
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L208
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L208
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L208:
	mov	rax, QWORD PTR -160[rbp]
	lea	rdx, regexpObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -160[rbp]
	mov	edx, DWORD PTR -164[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -160[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -120[rbp]
.L206:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L209
	call	__stack_chk_fail@PLT
.L209:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	SetRegexpFromAny, .-SetRegexpFromAny
	.section	.rodata
	.align 8
.LC65:
	.string	"?-switch ...? exp string ?matchVar? ?subMatchVar ...?"
.LC66:
	.string	"switch"
	.align 8
.LC67:
	.string	"regexp match variables not allowed when using -inline"
	.align 8
.LC68:
	.string	"error while matching pattern: %s"
.LC69:
	.string	""
	.text
	.globl	Jim_RegexpCmd
	.type	Jim_RegexpCmd, @function
Jim_RegexpCmd:
.LFB43:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	mov	QWORD PTR -264[rbp], rdi
	mov	DWORD PTR -268[rbp], esi
	mov	QWORD PTR -280[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -240[rbp], 0
	mov	DWORD PTR -236[rbp], 0
	mov	DWORD PTR -232[rbp], 0
	mov	DWORD PTR -252[rbp], 0
	mov	QWORD PTR -192[rbp], 0
	mov	DWORD PTR -220[rbp], 0
	mov	DWORD PTR -216[rbp], 0
	mov	QWORD PTR -176[rbp], 0
	mov	DWORD PTR -208[rbp], 0
	mov	DWORD PTR -204[rbp], 0
	cmp	DWORD PTR -268[rbp], 2
	jg	.L211
	nop
	jmp	.L212
.L267:
	nop
	jmp	.L212
.L269:
	nop
.L212:
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR -264[rbp]
	lea	rcx, .LC65[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L264
.L211:
	mov	DWORD PTR -228[rbp], 1
	jmp	.L214
.L229:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L266
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -244[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	r9d, 3
	lea	r8, .LC66[rip]
	mov	rcx, rdx
	lea	rdx, options.21[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L217
	mov	eax, 1
	jmp	.L264
.L217:
	mov	eax, DWORD PTR -244[rbp]
	cmp	eax, 6
	jne	.L218
	add	DWORD PTR -228[rbp], 1
	jmp	.L216
.L218:
	mov	eax, DWORD PTR -244[rbp]
	cmp	eax, 5
	ja	.L219
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L221[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L221[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L221:
	.long	.L226-.L221
	.long	.L225-.L221
	.long	.L224-.L221
	.long	.L223-.L221
	.long	.L222-.L221
	.long	.L220-.L221
	.text
.L226:
	mov	DWORD PTR -240[rbp], 1
	jmp	.L219
.L225:
	or	DWORD PTR -208[rbp], 2
	jmp	.L219
.L224:
	or	DWORD PTR -208[rbp], 1
	jmp	.L219
.L223:
	mov	DWORD PTR -236[rbp], 1
	jmp	.L219
.L222:
	mov	DWORD PTR -232[rbp], 1
	jmp	.L219
.L220:
	add	DWORD PTR -228[rbp], 1
	mov	eax, DWORD PTR -228[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	je	.L267
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -252[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L268
	mov	eax, 1
	jmp	.L264
.L268:
	nop
.L219:
	add	DWORD PTR -228[rbp], 1
.L214:
	mov	eax, DWORD PTR -228[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	jl	.L229
	jmp	.L216
.L266:
	nop
.L216:
	mov	eax, DWORD PTR -268[rbp]
	sub	eax, DWORD PTR -228[rbp]
	cmp	eax, 1
	jle	.L269
	mov	edx, DWORD PTR -208[rbp]
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	SetRegexpFromAny
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	jne	.L231
	mov	eax, 1
	jmp	.L264
.L231:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -248[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -184[rbp], rax
	mov	eax, DWORD PTR -268[rbp]
	sub	eax, DWORD PTR -228[rbp]
	sub	eax, 2
	mov	DWORD PTR -212[rbp], eax
	cmp	DWORD PTR -232[rbp], 0
	je	.L232
	cmp	DWORD PTR -212[rbp], 0
	je	.L233
	mov	rax, QWORD PTR -264[rbp]
	mov	edx, -1
	lea	rsi, .LC67[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L234
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L234:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -220[rbp], 1
	jmp	.L235
.L233:
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 1
	mov	DWORD PTR -212[rbp], eax
.L232:
	mov	eax, DWORD PTR -212[rbp]
	add	eax, 1
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -192[rbp], rax
	mov	eax, DWORD PTR -252[rbp]
	test	eax, eax
	je	.L236
	mov	eax, DWORD PTR -252[rbp]
	test	eax, eax
	jns	.L237
	mov	eax, DWORD PTR -248[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -252[rbp]
	add	eax, edx
	mov	DWORD PTR -252[rbp], eax
.L237:
	mov	edx, DWORD PTR -252[rbp]
	mov	eax, DWORD PTR -248[rbp]
	cmp	edx, eax
	jle	.L238
	mov	eax, DWORD PTR -248[rbp]
	cdqe
	add	QWORD PTR -184[rbp], rax
	jmp	.L239
.L238:
	mov	eax, DWORD PTR -252[rbp]
	test	eax, eax
	jle	.L239
	mov	eax, DWORD PTR -252[rbp]
	cdqe
	add	QWORD PTR -184[rbp], rax
.L239:
	or	DWORD PTR -204[rbp], 16
.L236:
	cmp	DWORD PTR -232[rbp], 0
	je	.L270
	mov	rax, QWORD PTR -264[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -176[rbp], rax
	jmp	.L259
.L270:
	nop
.L240:
.L259:
	mov	eax, DWORD PTR -212[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	edi, DWORD PTR -204[rbp]
	mov	rcx, QWORD PTR -192[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	regexec
	mov	DWORD PTR -200[rbp], eax
	cmp	DWORD PTR -200[rbp], 1
	jle	.L241
	lea	rdx, -112[rbp]
	mov	rsi, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR -200[rbp]
	mov	ecx, 100
	mov	edi, eax
	call	regerror
	lea	rdx, -112[rbp]
	mov	rax, QWORD PTR -264[rbp]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	DWORD PTR -220[rbp], 1
	jmp	.L235
.L241:
	cmp	DWORD PTR -200[rbp], 1
	je	.L271
	add	DWORD PTR -216[rbp], 1
	cmp	DWORD PTR -236[rbp], 0
	je	.L243
	cmp	DWORD PTR -232[rbp], 0
	je	.L272
.L243:
	mov	DWORD PTR -224[rbp], 0
	add	DWORD PTR -228[rbp], 2
	jmp	.L245
.L255:
	cmp	DWORD PTR -240[rbp], 0
	je	.L246
	mov	rax, QWORD PTR -264[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -168[rbp], rax
	jmp	.L247
.L246:
	mov	rax, QWORD PTR -264[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -168[rbp], rax
.L247:
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	jne	.L248
	cmp	DWORD PTR -240[rbp], 0
	je	.L249
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, -1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, -1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L249
.L248:
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	mov	edx, DWORD PTR -224[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -192[rbp]
	add	rdx, rcx
	mov	edx, DWORD PTR [rdx]
	sub	eax, edx
	mov	DWORD PTR -196[rbp], eax
	cmp	DWORD PTR -240[rbp], 0
	je	.L250
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -252[rbp]
	add	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -252[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -196[rbp]
	add	eax, edx
	sub	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L249
.L250:
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -192[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	lea	rdi, [rdx+rax]
	mov	edx, DWORD PTR -196[rbp]
	mov	rsi, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	call	Jim_AppendString
.L249:
	cmp	DWORD PTR -232[rbp], 0
	je	.L251
	mov	rdx, QWORD PTR -168[rbp]
	mov	rcx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L252
.L251:
	mov	eax, DWORD PTR -228[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -280[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -220[rbp], eax
	cmp	DWORD PTR -220[rbp], 0
	je	.L252
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L244
.L252:
	add	DWORD PTR -228[rbp], 1
	add	DWORD PTR -224[rbp], 1
.L245:
	cmp	DWORD PTR -232[rbp], 0
	je	.L253
	mov	eax, DWORD PTR -224[rbp]
	cmp	eax, DWORD PTR -212[rbp]
	setl	al
	jmp	.L254
.L253:
	mov	eax, DWORD PTR -228[rbp]
	cmp	eax, DWORD PTR -268[rbp]
	setl	al
.L254:
	test	al, al
	jne	.L255
	jmp	.L244
.L272:
	nop
.L244:
	cmp	DWORD PTR -236[rbp], 0
	je	.L273
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 94
	jne	.L256
	mov	eax, DWORD PTR -208[rbp]
	and	eax, 1
	test	eax, eax
	je	.L273
.L256:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L273
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L257
	mov	rax, QWORD PTR -192[rbp]
	mov	edx, DWORD PTR 4[rax]
	mov	eax, DWORD PTR -252[rbp]
	add	eax, edx
	mov	DWORD PTR -252[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	add	QWORD PTR -184[rbp], rax
	jmp	.L258
.L257:
	add	QWORD PTR -184[rbp], 1
	mov	eax, DWORD PTR -252[rbp]
	add	eax, 1
	mov	DWORD PTR -252[rbp], eax
.L258:
	mov	rax, QWORD PTR -184[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L273
	mov	DWORD PTR -204[rbp], 16
	jmp	.L259
.L271:
	nop
	jmp	.L235
.L273:
	nop
.L235:
	cmp	DWORD PTR -220[rbp], 0
	jne	.L260
	cmp	DWORD PTR -232[rbp], 0
	je	.L261
	mov	rax, QWORD PTR -176[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L262
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L262:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L260
.L261:
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L263
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L263:
	mov	rax, QWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR [rax], rdx
.L260:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, DWORD PTR -220[rbp]
.L264:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L265
	call	__stack_chk_fail@PLT
.L265:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	Jim_RegexpCmd, .-Jim_RegexpCmd
	.section	.rodata
	.align 8
.LC70:
	.string	"?-switch ...? exp string subSpec ?varName?"
	.text
	.globl	Jim_RegsubCmd
	.type	Jim_RegsubCmd, @function
Jim_RegsubCmd:
.LFB44:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 704
	mov	QWORD PTR -680[rbp], rdi
	mov	DWORD PTR -684[rbp], esi
	mov	QWORD PTR -696[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -652[rbp], 0
	mov	DWORD PTR -648[rbp], 0
	mov	DWORD PTR -644[rbp], 0
	mov	DWORD PTR -668[rbp], 0
	mov	DWORD PTR -636[rbp], 0
	cmp	DWORD PTR -684[rbp], 3
	jg	.L275
	nop
	jmp	.L276
.L321:
	nop
	jmp	.L276
.L323:
	nop
.L276:
	mov	rdx, QWORD PTR -696[rbp]
	mov	rax, QWORD PTR -680[rbp]
	lea	rcx, .LC70[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L318
.L275:
	mov	DWORD PTR -632[rbp], 1
	jmp	.L278
.L290:
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -600[rbp], rax
	mov	rax, QWORD PTR -600[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L320
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -656[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	r9d, 3
	lea	r8, .LC66[rip]
	mov	rcx, rdx
	lea	rdx, options.20[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L281
	mov	eax, 1
	jmp	.L318
.L281:
	mov	eax, DWORD PTR -656[rbp]
	cmp	eax, 4
	jne	.L282
	add	DWORD PTR -632[rbp], 1
	jmp	.L280
.L282:
	mov	eax, DWORD PTR -656[rbp]
	cmp	eax, 3
	je	.L283
	cmp	eax, 3
	jg	.L284
	cmp	eax, 2
	je	.L285
	cmp	eax, 2
	jg	.L284
	test	eax, eax
	je	.L286
	cmp	eax, 1
	je	.L287
	jmp	.L284
.L286:
	or	DWORD PTR -652[rbp], 2
	jmp	.L284
.L287:
	or	DWORD PTR -652[rbp], 1
	jmp	.L284
.L285:
	mov	DWORD PTR -644[rbp], 1
	jmp	.L284
.L283:
	add	DWORD PTR -632[rbp], 1
	mov	eax, DWORD PTR -632[rbp]
	cmp	eax, DWORD PTR -684[rbp]
	je	.L321
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -668[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L322
	mov	eax, 1
	jmp	.L318
.L322:
	nop
.L284:
	add	DWORD PTR -632[rbp], 1
.L278:
	mov	eax, DWORD PTR -632[rbp]
	cmp	eax, DWORD PTR -684[rbp]
	jl	.L290
	jmp	.L280
.L320:
	nop
.L280:
	mov	eax, DWORD PTR -684[rbp]
	sub	eax, DWORD PTR -632[rbp]
	cmp	eax, 3
	je	.L291
	mov	eax, DWORD PTR -684[rbp]
	sub	eax, DWORD PTR -632[rbp]
	cmp	eax, 4
	jne	.L323
.L291:
	mov	edx, DWORD PTR -652[rbp]
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	SetRegexpFromAny
	mov	QWORD PTR -592[rbp], rax
	cmp	QWORD PTR -592[rbp], 0
	jne	.L292
	mov	eax, 1
	jmp	.L318
.L292:
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -584[rbp], rax
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -664[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -576[rbp], rax
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	add	rax, 2
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -660[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -568[rbp], rax
	mov	eax, DWORD PTR -632[rbp]
	cdqe
	add	rax, 3
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -696[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -560[rbp], rax
	mov	rax, QWORD PTR -680[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -552[rbp], rax
	mov	eax, DWORD PTR -668[rbp]
	test	eax, eax
	je	.L293
	mov	eax, DWORD PTR -668[rbp]
	test	eax, eax
	jns	.L294
	mov	eax, DWORD PTR -664[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -668[rbp]
	add	eax, edx
	mov	DWORD PTR -668[rbp], eax
.L294:
	mov	edx, DWORD PTR -668[rbp]
	mov	eax, DWORD PTR -664[rbp]
	cmp	edx, eax
	jle	.L295
	mov	eax, DWORD PTR -664[rbp]
	mov	DWORD PTR -668[rbp], eax
	jmp	.L293
.L295:
	mov	eax, DWORD PTR -668[rbp]
	test	eax, eax
	jns	.L293
	mov	DWORD PTR -668[rbp], 0
.L293:
	mov	ecx, DWORD PTR -668[rbp]
	mov	rdx, QWORD PTR -576[rbp]
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	mov	eax, DWORD PTR -664[rbp]
	mov	edx, DWORD PTR -668[rbp]
	sub	eax, edx
	mov	DWORD PTR -624[rbp], eax
	mov	eax, DWORD PTR -668[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -576[rbp]
	add	rax, rdx
	mov	QWORD PTR -608[rbp], rax
.L312:
	mov	ecx, DWORD PTR -648[rbp]
	lea	rdx, -528[rbp]
	mov	rsi, QWORD PTR -608[rbp]
	mov	rax, QWORD PTR -592[rbp]
	mov	r8d, ecx
	mov	rcx, rdx
	mov	edx, 50
	mov	rdi, rax
	call	regexec
	mov	DWORD PTR -616[rbp], eax
	cmp	DWORD PTR -616[rbp], 1
	jle	.L296
	lea	rdx, -112[rbp]
	mov	rsi, QWORD PTR -592[rbp]
	mov	eax, DWORD PTR -616[rbp]
	mov	ecx, 100
	mov	edi, eax
	call	regerror
	lea	rdx, -112[rbp]
	mov	rax, QWORD PTR -680[rbp]
	lea	rsi, .LC68[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L318
.L296:
	cmp	DWORD PTR -616[rbp], 1
	je	.L324
	add	DWORD PTR -636[rbp], 1
	mov	ecx, DWORD PTR -528[rbp]
	mov	rdx, QWORD PTR -608[rbp]
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	mov	DWORD PTR -628[rbp], 0
	jmp	.L299
.L309:
	mov	eax, DWORD PTR -628[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -568[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -612[rbp], eax
	cmp	DWORD PTR -612[rbp], 38
	jne	.L300
	mov	DWORD PTR -620[rbp], 0
	jmp	.L301
.L300:
	cmp	DWORD PTR -612[rbp], 92
	jne	.L302
	mov	eax, DWORD PTR -660[rbp]
	cmp	DWORD PTR -628[rbp], eax
	jge	.L302
	add	DWORD PTR -628[rbp], 1
	mov	eax, DWORD PTR -628[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -568[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -612[rbp], eax
	cmp	DWORD PTR -612[rbp], 47
	jle	.L303
	cmp	DWORD PTR -612[rbp], 57
	jg	.L303
	mov	eax, DWORD PTR -612[rbp]
	sub	eax, 48
	mov	DWORD PTR -620[rbp], eax
	jmp	.L301
.L303:
	cmp	DWORD PTR -612[rbp], 92
	je	.L304
	cmp	DWORD PTR -612[rbp], 38
	jne	.L305
.L304:
	mov	eax, DWORD PTR -628[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -568[rbp]
	add	rdx, rax
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L306
.L305:
	mov	eax, DWORD PTR -660[rbp]
	cmp	DWORD PTR -628[rbp], eax
	jne	.L307
	mov	ecx, 1
	jmp	.L308
.L307:
	mov	ecx, 2
.L308:
	mov	eax, DWORD PTR -628[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -568[rbp]
	add	rdx, rax
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L306
.L302:
	mov	eax, DWORD PTR -628[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -568[rbp]
	add	rdx, rax
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L306
.L301:
	cmp	DWORD PTR -620[rbp], 49
	jg	.L306
	mov	eax, DWORD PTR -620[rbp]
	cdqe
	mov	eax, DWORD PTR -528[rbp+rax*8]
	cmp	eax, -1
	je	.L306
	mov	eax, DWORD PTR -620[rbp]
	cdqe
	mov	eax, DWORD PTR -524[rbp+rax*8]
	cmp	eax, -1
	je	.L306
	mov	eax, DWORD PTR -620[rbp]
	cdqe
	mov	edx, DWORD PTR -524[rbp+rax*8]
	mov	eax, DWORD PTR -620[rbp]
	cdqe
	mov	eax, DWORD PTR -528[rbp+rax*8]
	mov	ecx, edx
	sub	ecx, eax
	mov	eax, DWORD PTR -620[rbp]
	cdqe
	mov	eax, DWORD PTR -528[rbp+rax*8]
	movsx	rdx, eax
	mov	rax, QWORD PTR -608[rbp]
	add	rdx, rax
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rdi, rax
	call	Jim_AppendString
.L306:
	add	DWORD PTR -628[rbp], 1
.L299:
	mov	eax, DWORD PTR -660[rbp]
	cmp	DWORD PTR -628[rbp], eax
	jl	.L309
	mov	eax, DWORD PTR -524[rbp]
	cdqe
	add	QWORD PTR -608[rbp], rax
	mov	eax, DWORD PTR -524[rbp]
	sub	DWORD PTR -624[rbp], eax
	cmp	DWORD PTR -644[rbp], 0
	je	.L298
	cmp	DWORD PTR -624[rbp], 0
	je	.L298
	mov	eax, DWORD PTR -652[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L310
	mov	rax, QWORD PTR -584[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 94
	je	.L325
.L310:
	mov	rax, QWORD PTR -584[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L311
	cmp	DWORD PTR -624[rbp], 0
	je	.L311
	mov	rdx, QWORD PTR -608[rbp]
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_AppendString
	add	QWORD PTR -608[rbp], 1
	sub	DWORD PTR -624[rbp], 1
.L311:
	or	DWORD PTR -648[rbp], 16
	cmp	DWORD PTR -624[rbp], 0
	jne	.L312
	jmp	.L298
.L324:
	nop
	jmp	.L298
.L325:
	nop
.L298:
	mov	rdx, QWORD PTR -608[rbp]
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	Jim_AppendString
	mov	eax, DWORD PTR -684[rbp]
	sub	eax, DWORD PTR -632[rbp]
	cmp	eax, 4
	jne	.L313
	mov	rdx, QWORD PTR -552[rbp]
	mov	rcx, QWORD PTR -560[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -640[rbp], eax
	cmp	DWORD PTR -640[rbp], 0
	jne	.L314
	mov	eax, DWORD PTR -636[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -536[rbp], rax
	mov	rax, QWORD PTR -536[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -536[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -680[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L315
	mov	rax, QWORD PTR -680[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L315:
	mov	rax, QWORD PTR -680[rbp]
	mov	rdx, QWORD PTR -536[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L316
.L314:
	mov	rdx, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L316
.L313:
	mov	rax, QWORD PTR -552[rbp]
	mov	QWORD PTR -544[rbp], rax
	mov	rax, QWORD PTR -544[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -544[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -680[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L317
	mov	rax, QWORD PTR -680[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -680[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L317:
	mov	rax, QWORD PTR -680[rbp]
	mov	rdx, QWORD PTR -544[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -640[rbp], 0
.L316:
	mov	eax, DWORD PTR -640[rbp]
.L318:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L319
	call	__stack_chk_fail@PLT
.L319:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	Jim_RegsubCmd, .-Jim_RegsubCmd
	.section	.rodata
.LC71:
	.string	"regsub"
	.text
	.globl	Jim_regexpInit
	.type	Jim_regexpInit, @function
Jim_regexpInit:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L327
	mov	eax, 1
	jmp	.L328
.L327:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, Jim_RegexpCmd[rip]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, Jim_RegsubCmd[rip]
	lea	rsi, .LC71[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	eax, 0
.L328:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	Jim_regexpInit, .-Jim_regexpInit
	.section	.rodata
.LC72:
	.string	"file"
.LC73:
	.string	"directory"
.LC74:
	.string	"characterSpecial"
.LC75:
	.string	"blockSpecial"
.LC76:
	.string	"fifo"
.LC77:
	.string	"link"
.LC78:
	.string	"socket"
.LC79:
	.string	"unknown"
	.text
	.type	JimGetFileType, @function
JimGetFileType:
.LFB46:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 32768
	jne	.L330
	lea	rax, .LC72[rip]
	jmp	.L331
.L330:
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 16384
	jne	.L332
	lea	rax, .LC73[rip]
	jmp	.L331
.L332:
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 8192
	jne	.L333
	lea	rax, .LC74[rip]
	jmp	.L331
.L333:
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 24576
	jne	.L334
	lea	rax, .LC75[rip]
	jmp	.L331
.L334:
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 4096
	jne	.L335
	lea	rax, .LC76[rip]
	jmp	.L331
.L335:
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 40960
	jne	.L336
	lea	rax, .LC77[rip]
	jmp	.L331
.L336:
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 61440
	cmp	eax, 49152
	jne	.L337
	lea	rax, .LC78[rip]
	jmp	.L331
.L337:
	lea	rax, .LC79[rip]
.L331:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	JimGetFileType, .-JimGetFileType
	.type	AppendStatElement, @function
AppendStatElement:
.LFB47:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	AppendStatElement, .-AppendStatElement
	.section	.rodata
.LC80:
	.string	"dev"
.LC81:
	.string	"ino"
.LC82:
	.string	"mode"
.LC83:
	.string	"nlink"
.LC84:
	.string	"uid"
.LC85:
	.string	"gid"
.LC86:
	.string	"size"
.LC87:
	.string	"atime"
.LC88:
	.string	"mtime"
.LC89:
	.string	"ctime"
.LC90:
	.string	"type"
	.align 8
.LC91:
	.string	"can't set \"%#s(dev)\": variable isn't array"
	.text
	.type	StoreStatData, @function
StoreStatData:
.LFB48:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, rax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC80[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, rax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC81[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edx, eax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC82[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, rax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC83[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	edx, eax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC84[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	edx, eax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC85[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC86[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC87[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC88[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 104[rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC89[rip]
	mov	rdi, rax
	call	AppendStatElement
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC90[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	edi, eax
	call	JimGetFileType
	mov	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	cmp	QWORD PTR -48[rbp], 0
	je	.L340
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L341
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	test	eax, eax
	jns	.L342
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC91[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 1
	jmp	.L343
.L342:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L344
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -16[rbp], rax
.L344:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendList
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
.L341:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
.L340:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L345
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L345:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L343:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	StoreStatData, .-StoreStatData
	.section	.rodata
.LC92:
	.string	".."
.LC93:
	.string	"."
	.text
	.type	file_cmd_dirname, @function
file_cmd_dirname:
.LFB49:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L347
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L347
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L347
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L347
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	lea	rsi, .LC92[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L348
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L348:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L349
.L347:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L350
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	lea	rsi, .LC93[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L351
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L351:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L349
.L350:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L352
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	lea	rsi, .LC52[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L353
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L353:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L349
.L352:
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, QWORD PTR -48[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L354
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L354:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L349:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE49:
	.size	file_cmd_dirname, .-file_cmd_dirname
	.type	file_cmd_rootname, @function
file_cmd_rootname:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 46
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L357
	cmp	QWORD PTR -32[rbp], 0
	je	.L358
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jbe	.L358
.L357:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L359
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L359:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L360
.L358:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L361
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L361:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L360:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	file_cmd_rootname, .-file_cmd_rootname
	.type	file_cmd_extension, @function
file_cmd_extension:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 46
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L364
	cmp	QWORD PTR -16[rbp], 0
	je	.L365
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jb	.L365
.L364:
	lea	rax, .LC69[rip]
	mov	QWORD PTR -32[rbp], rax
.L365:
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L366
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L366:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	file_cmd_extension, .-file_cmd_extension
	.type	file_cmd_tail, @function
file_cmd_tail:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L369
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L370
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L370:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L371
.L369:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L372
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L372:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L371:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	file_cmd_tail, .-file_cmd_tail
	.section	.rodata
.LC94:
	.string	"Not implemented"
	.text
	.type	file_cmd_normalize, @function
file_cmd_normalize:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC94[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L375
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L375:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	file_cmd_normalize, .-file_cmd_normalize
	.section	.rodata
.LC95:
	.string	"Path too long"
	.text
	.type	file_cmd_join, @function
file_cmd_join:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 1025
	call	Jim_Alloc
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -52[rbp], 0
	jmp	.L378
.L389:
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L379
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L380
.L379:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L380
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L381
	add	QWORD PTR -40[rbp], 2
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 2
	mov	DWORD PTR -56[rbp], eax
	jmp	.L380
.L381:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L380
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jne	.L392
.L380:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L383
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L383
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	BYTE PTR [rax], 47
.L383:
	mov	eax, DWORD PTR -56[rbp]
	test	eax, eax
	je	.L384
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	sub	rax, QWORD PTR -32[rbp]
	cmp	rax, 1023
	jle	.L385
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC95[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L386
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L386:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L387
.L385:
	mov	eax, DWORD PTR -56[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	QWORD PTR -48[rbp], rax
.L384:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	cmp	QWORD PTR -48[rbp], rax
	jbe	.L382
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jne	.L382
	sub	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L382
.L392:
	nop
.L382:
	add	DWORD PTR -52[rbp], 1
.L378:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L389
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	sub	rax, QWORD PTR -32[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L390
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L390:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L387:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L391
	call	__stack_chk_fail@PLT
.L391:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	file_cmd_join, .-file_cmd_join
	.type	file_access, @function
file_access:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	access@PLT
	cmp	eax, -1
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L394
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L394:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	file_access, .-file_access
	.type	file_cmd_readable, @function
file_cmd_readable:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	file_access
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	file_cmd_readable, .-file_cmd_readable
	.type	file_cmd_writable, @function
file_cmd_writable:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 2
	mov	rsi, rcx
	mov	rdi, rax
	call	file_access
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	file_cmd_writable, .-file_cmd_writable
	.type	file_cmd_executable, @function
file_cmd_executable:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	file_access
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	file_cmd_executable, .-file_cmd_executable
	.type	file_cmd_exists, @function
file_cmd_exists:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	file_access
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	file_cmd_exists, .-file_cmd_exists
	.section	.rodata
.LC96:
	.string	"-force"
.LC97:
	.string	"--"
.LC98:
	.string	"file delete force"
.LC99:
	.string	"couldn't delete file \"%s\": %s"
	.text
	.type	file_cmd_delete, @function
file_cmd_delete:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC96[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L405
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC97[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L407
.L405:
	add	DWORD PTR -28[rbp], 1
	sub	QWORD PTR -40[rbp], 8
	jmp	.L407
.L411:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	unlink@PLT
	cmp	eax, -1
	jne	.L408
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	je	.L408
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rmdir@PLT
	cmp	eax, -1
	jne	.L408
	cmp	DWORD PTR -12[rbp], 0
	je	.L409
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC98[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rsi, rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rdi, rax
	call	Jim_EvalObjPrefix
	test	eax, eax
	je	.L408
.L409:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L410
.L408:
	add	QWORD PTR -40[rbp], 8
.L407:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -28[rbp], edx
	test	eax, eax
	jne	.L411
	mov	eax, 0
.L410:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	file_cmd_delete, .-file_cmd_delete
	.type	mkdir_all, @function
mkdir_all:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -184[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -172[rbp], 1
	jmp	.L413
.L418:
	mov	rax, QWORD PTR -184[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	je	.L423
	mov	rax, QWORD PTR -168[rbp]
	cmp	rax, QWORD PTR -184[rbp]
	je	.L423
	mov	rax, QWORD PTR -168[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	mkdir_all
	test	eax, eax
	je	.L414
	mov	eax, -1
	jmp	.L415
.L414:
	mov	rax, QWORD PTR -168[rbp]
	mov	BYTE PTR [rax], 47
	jmp	.L413
.L423:
	nop
.L413:
	mov	rax, QWORD PTR -184[rbp]
	mov	esi, 493
	mov	rdi, rax
	call	mkdir@PLT
	test	eax, eax
	jne	.L416
	mov	eax, 0
	jmp	.L415
.L416:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2
	jne	.L417
	mov	eax, DWORD PTR -172[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -172[rbp], edx
	test	eax, eax
	jne	.L418
	jmp	.L419
.L417:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 17
	jne	.L424
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L421
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 16384
	jne	.L421
	mov	eax, 0
	jmp	.L415
.L421:
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 17
.L424:
	nop
.L419:
	mov	eax, -1
.L415:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L422
	call	__stack_chk_fail@PLT
.L422:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	mkdir_all, .-mkdir_all
	.section	.rodata
	.align 8
.LC100:
	.string	"can't create directory \"%#s\": %s"
	.text
	.type	file_cmd_mkdir, @function
file_cmd_mkdir:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	jmp	.L426
.L429:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdi, rax
	call	Jim_StrDup
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	mkdir_all
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	cmp	DWORD PTR -12[rbp], 0
	je	.L427
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC100[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L428
.L427:
	add	QWORD PTR -40[rbp], 8
.L426:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -28[rbp], edx
	test	eax, eax
	jne	.L429
	mov	eax, 0
.L428:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	file_cmd_mkdir, .-file_cmd_mkdir
	.type	file_cmd_tempfile, @function
file_cmd_tempfile:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 0
	jle	.L431
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	jmp	.L432
.L431:
	mov	edx, 0
.L432:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_MakeTempFile
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jns	.L433
	mov	eax, 1
	jmp	.L434
.L433:
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	close@PLT
	mov	eax, 0
.L434:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	file_cmd_tempfile, .-file_cmd_tempfile
	.section	.rodata
	.align 8
.LC101:
	.string	"error renaming \"%#s\" to \"%#s\": target exists"
	.align 8
.LC102:
	.string	"error renaming \"%#s\" to \"%#s\": %s"
	.text
	.type	file_cmd_rename, @function
file_cmd_rename:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -20[rbp], 0
	cmp	DWORD PTR -44[rbp], 3
	jne	.L436
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC96[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	jne	.L437
	mov	eax, -1
	jmp	.L438
.L437:
	add	DWORD PTR -20[rbp], 1
	add	QWORD PTR -56[rbp], 8
	sub	DWORD PTR -44[rbp], 1
.L436:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L439
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	access@PLT
	test	eax, eax
	jne	.L439
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC101[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L438
.L439:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rename@PLT
	test	eax, eax
	je	.L440
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rsi
	lea	rsi, .LC102[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L438
.L440:
	mov	eax, 0
.L438:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	file_cmd_rename, .-file_cmd_rename
	.section	.rodata
.LC103:
	.string	"could not read \"%#s\": %s"
	.text
	.type	file_stat, @function
file_stat:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	cmp	eax, -1
	jne	.L442
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC103[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L443
.L442:
	mov	eax, 0
.L443:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	file_stat, .-file_stat
	.type	file_cmd_atime, @function
file_cmd_atime:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	je	.L445
	mov	eax, 1
	jmp	.L448
.L445:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L447
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L447:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L448:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L449
	call	__stack_chk_fail@PLT
.L449:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	file_cmd_atime, .-file_cmd_atime
	.type	file_cmd_mtime, @function
file_cmd_mtime:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -188[rbp], 2
	jne	.L451
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, -1
	lea	rsi, .LC94[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L452
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L452:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L456
.L451:
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	je	.L454
	mov	eax, 1
	jmp	.L456
.L454:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L455
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L455:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L456:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L457
	call	__stack_chk_fail@PLT
.L457:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	file_cmd_mtime, .-file_cmd_mtime
	.section	.rodata
.LC104:
	.string	"file copy"
	.text
	.type	file_cmd_copy, @function
file_cmd_copy:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, -1
	lea	rsi, .LC104[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rsi, rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_EvalObjPrefix
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	file_cmd_copy, .-file_cmd_copy
	.type	file_cmd_size, @function
file_cmd_size:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	je	.L461
	mov	eax, 1
	jmp	.L464
.L461:
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L463
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L463:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L464:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L465
	call	__stack_chk_fail@PLT
.L465:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	file_cmd_size, .-file_cmd_size
	.type	file_cmd_isdirectory, @function
file_cmd_isdirectory:
.LFB70:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -172[rbp], 0
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	jne	.L467
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 16384
	sete	al
	movzx	eax, al
	mov	DWORD PTR -172[rbp], eax
.L467:
	mov	eax, DWORD PTR -172[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L468
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L468:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L470
	call	__stack_chk_fail@PLT
.L470:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	file_cmd_isdirectory, .-file_cmd_isdirectory
	.type	file_cmd_isfile, @function
file_cmd_isfile:
.LFB71:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -172[rbp], 0
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	jne	.L472
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 61440
	cmp	eax, 32768
	sete	al
	movzx	eax, al
	mov	DWORD PTR -172[rbp], eax
.L472:
	mov	eax, DWORD PTR -172[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L473
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L473:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L475
	call	__stack_chk_fail@PLT
.L475:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	file_cmd_isfile, .-file_cmd_isfile
	.type	file_cmd_type, @function
file_cmd_type:
.LFB72:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -184[rbp], rdi
	mov	DWORD PTR -188[rbp], esi
	mov	QWORD PTR -200[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	je	.L477
	mov	eax, 1
	jmp	.L480
.L477:
	mov	eax, DWORD PTR -136[rbp]
	mov	edi, eax
	call	JimGetFileType
	mov	rcx, rax
	mov	rax, QWORD PTR -184[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L479
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L479:
	mov	rax, QWORD PTR -184[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L480:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L481
	call	__stack_chk_fail@PLT
.L481:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	file_cmd_type, .-file_cmd_type
	.type	file_cmd_stat, @function
file_cmd_stat:
.LFB73:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	DWORD PTR -172[rbp], esi
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	file_stat
	test	eax, eax
	je	.L483
	mov	eax, 1
	jmp	.L487
.L483:
	cmp	DWORD PTR -172[rbp], 2
	jne	.L485
	mov	rax, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L486
.L485:
	mov	eax, 0
.L486:
	lea	rdx, -160[rbp]
	mov	rcx, QWORD PTR -168[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	StoreStatData
.L487:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L488
	call	__stack_chk_fail@PLT
.L488:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	file_cmd_stat, .-file_cmd_stat
	.section	.rodata
.LC105:
	.string	"name"
.LC106:
	.string	"name ?time?"
.LC107:
	.string	"copy"
.LC108:
	.string	"?-force? source dest"
.LC109:
	.string	"dirname"
.LC110:
	.string	"rootname"
.LC111:
	.string	"extension"
.LC112:
	.string	"tail"
.LC113:
	.string	"normalize"
.LC114:
	.string	"join"
.LC115:
	.string	"name ?name ...?"
.LC116:
	.string	"readable"
.LC117:
	.string	"writable"
.LC118:
	.string	"executable"
.LC119:
	.string	"exists"
.LC120:
	.string	"delete"
.LC121:
	.string	"?-force|--? name ..."
.LC122:
	.string	"mkdir"
.LC123:
	.string	"dir ..."
.LC124:
	.string	"tempfile"
.LC125:
	.string	"?template?"
.LC126:
	.string	"rename"
.LC127:
	.string	"stat"
.LC128:
	.string	"name ?var?"
.LC129:
	.string	"lstat"
.LC130:
	.string	"isdirectory"
.LC131:
	.string	"isfile"
	.section	.data.rel.ro.local
	.align 32
	.type	file_command_table, @object
	.size	file_command_table, 768
file_command_table:
	.quad	.LC87
	.quad	.LC105
	.quad	file_cmd_atime
	.value	1
	.value	1
	.zero	4
	.quad	.LC88
	.quad	.LC106
	.quad	file_cmd_mtime
	.value	1
	.value	2
	.zero	4
	.quad	.LC107
	.quad	.LC108
	.quad	file_cmd_copy
	.value	2
	.value	3
	.zero	4
	.quad	.LC109
	.quad	.LC105
	.quad	file_cmd_dirname
	.value	1
	.value	1
	.zero	4
	.quad	.LC110
	.quad	.LC105
	.quad	file_cmd_rootname
	.value	1
	.value	1
	.zero	4
	.quad	.LC111
	.quad	.LC105
	.quad	file_cmd_extension
	.value	1
	.value	1
	.zero	4
	.quad	.LC112
	.quad	.LC105
	.quad	file_cmd_tail
	.value	1
	.value	1
	.zero	4
	.quad	.LC113
	.quad	.LC105
	.quad	file_cmd_normalize
	.value	1
	.value	1
	.zero	4
	.quad	.LC114
	.quad	.LC115
	.quad	file_cmd_join
	.value	1
	.value	-1
	.zero	4
	.quad	.LC116
	.quad	.LC105
	.quad	file_cmd_readable
	.value	1
	.value	1
	.zero	4
	.quad	.LC117
	.quad	.LC105
	.quad	file_cmd_writable
	.value	1
	.value	1
	.zero	4
	.quad	.LC118
	.quad	.LC105
	.quad	file_cmd_executable
	.value	1
	.value	1
	.zero	4
	.quad	.LC119
	.quad	.LC105
	.quad	file_cmd_exists
	.value	1
	.value	1
	.zero	4
	.quad	.LC120
	.quad	.LC121
	.quad	file_cmd_delete
	.value	1
	.value	-1
	.zero	4
	.quad	.LC122
	.quad	.LC123
	.quad	file_cmd_mkdir
	.value	1
	.value	-1
	.zero	4
	.quad	.LC124
	.quad	.LC125
	.quad	file_cmd_tempfile
	.value	0
	.value	1
	.zero	4
	.quad	.LC126
	.quad	.LC108
	.quad	file_cmd_rename
	.value	2
	.value	3
	.zero	4
	.quad	.LC86
	.quad	.LC105
	.quad	file_cmd_size
	.value	1
	.value	1
	.zero	4
	.quad	.LC127
	.quad	.LC128
	.quad	file_cmd_stat
	.value	1
	.value	2
	.zero	4
	.quad	.LC129
	.quad	.LC128
	.quad	file_cmd_stat
	.value	1
	.value	2
	.zero	4
	.quad	.LC90
	.quad	.LC105
	.quad	file_cmd_type
	.value	1
	.value	1
	.zero	4
	.quad	.LC130
	.quad	.LC105
	.quad	file_cmd_isdirectory
	.value	1
	.value	1
	.zero	4
	.quad	.LC131
	.quad	.LC105
	.quad	file_cmd_isfile
	.value	1
	.value	1
	.zero	4
	.quad	0
	.zero	24
	.section	.rodata
	.align 8
.LC132:
	.string	"couldn't change working directory to \"%s\": %s"
	.text
	.type	Jim_CdCmd, @function
Jim_CdCmd:
.LFB74:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 2
	je	.L490
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC109[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L491
.L490:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	chdir@PLT
	test	eax, eax
	je	.L492
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC132[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L491
.L492:
	mov	eax, 0
.L491:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	Jim_CdCmd, .-Jim_CdCmd
	.section	.rodata
.LC133:
	.string	"Failed to get pwd"
	.text
	.type	Jim_PwdCmd, @function
Jim_PwdCmd:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	edi, 1024
	call	Jim_Alloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	getcwd@PLT
	test	rax, rax
	jne	.L494
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC133[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L495
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L495:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, 1
	jmp	.L496
.L494:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L497
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L497:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, 0
.L496:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	Jim_PwdCmd, .-Jim_PwdCmd
	.section	.rodata
.LC134:
	.string	"pwd"
.LC135:
	.string	"cd"
	.text
	.globl	Jim_fileInit
	.type	Jim_fileInit, @function
Jim_fileInit:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L499
	mov	eax, 1
	jmp	.L500
.L499:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	lea	rcx, file_command_table[rip]
	lea	rdx, Jim_SubCmdProc[rip]
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, Jim_PwdCmd[rip]
	lea	rsi, .LC134[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, Jim_CdCmd[rip]
	lea	rsi, .LC135[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	eax, 0
.L500:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	Jim_fileInit, .-Jim_fileInit
	.section	.rodata
.LC136:
	.string	"%s: %s"
	.text
	.type	Jim_SetResultErrno, @function
Jim_SetResultErrno:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	call	JimStrError
	mov	rcx, rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC136[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	Jim_SetResultErrno, .-Jim_SetResultErrno
	.type	JimStrError, @function
JimStrError:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	JimStrError, .-JimStrError
	.type	Jim_RemoveTrailingNewline, @function
Jim_RemoveTrailingNewline:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jle	.L507
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L507
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L507:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L506
	call	__stack_chk_fail@PLT
.L506:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	Jim_RemoveTrailingNewline, .-Jim_RemoveTrailingNewline
	.type	JimAppendStreamToString, @function
JimAppendStreamToString:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -296[rbp], rdi
	mov	DWORD PTR -300[rbp], esi
	mov	QWORD PTR -312[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -300[rbp]
	lea	rsi, .LC47[rip]
	mov	edi, eax
	call	fdopen@PLT
	mov	QWORD PTR -280[rbp], rax
	mov	DWORD PTR -288[rbp], 0
	cmp	QWORD PTR -280[rbp], 0
	jne	.L509
	mov	eax, -1
	jmp	.L514
.L509:
	mov	rdx, QWORD PTR -280[rbp]
	lea	rax, -272[rbp]
	mov	rcx, rdx
	mov	edx, 256
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -284[rbp], eax
	cmp	DWORD PTR -284[rbp], 0
	jle	.L511
	mov	DWORD PTR -288[rbp], 1
	mov	ecx, DWORD PTR -284[rbp]
	lea	rdx, -272[rbp]
	mov	rsi, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	Jim_AppendString
.L511:
	cmp	DWORD PTR -284[rbp], 256
	jne	.L517
	jmp	.L509
.L517:
	nop
	mov	rax, QWORD PTR -280[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -288[rbp]
.L514:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L515
	call	__stack_chk_fail@PLT
.L515:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	JimAppendStreamToString, .-JimAppendStreamToString
	.section	.rodata
.LC137:
	.string	"env"
.LC138:
	.string	"%s=%s"
	.text
	.type	JimBuildEnv, @function
JimBuildEnv:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	lea	rsi, .LC137[rip]
	mov	rdi, rax
	call	Jim_GetGlobalVariableStr
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L519
	call	Jim_GetEnviron
	jmp	.L520
.L519:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 1
	test	eax, eax
	je	.L521
	sub	DWORD PTR -68[rbp], 1
.L521:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_Length
	add	eax, 2
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	add	eax, 1
	cdqe
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -60[rbp]
	add	eax, edx
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -68[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -72[rbp], 0
	jmp	.L522
.L523:
	lea	rcx, -56[rbp]
	mov	edx, DWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	Jim_ListIndex
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	lea	edi, 1[rax]
	lea	rdx, -56[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8d, 0
	mov	rcx, rdx
	mov	edx, edi
	mov	rdi, rax
	call	Jim_ListIndex
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC138[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	cdqe
	add	QWORD PTR -48[rbp], rax
	add	QWORD PTR -48[rbp], 1
	add	DWORD PTR -64[rbp], 1
	add	DWORD PTR -72[rbp], 2
.L522:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L523
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -32[rbp]
.L520:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L524
	call	__stack_chk_fail@PLT
.L524:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	JimBuildEnv, .-JimBuildEnv
	.type	JimFreeEnv, @function
JimFreeEnv:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	je	.L527
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
.L527:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	JimFreeEnv, .-JimFreeEnv
	.section	.rodata
.LC139:
	.string	"%d"
	.text
	.globl	Jim_SignalId
	.type	Jim_SignalId, @function
Jim_SignalId:
.LFB83:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	ecx, eax
	lea	rdx, .LC139[rip]
	mov	esi, 10
	lea	rdi, buf.19[rip]
	mov	eax, 0
	call	snprintf@PLT
	lea	rax, buf.19[rip]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	Jim_SignalId, .-Jim_SignalId
	.globl	Jim_SignalName
	.type	Jim_SignalName, @function
Jim_SignalName:
.LFB84:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	Jim_SignalId
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	Jim_SignalName, .-Jim_SignalName
	.section	.rodata
.LC140:
	.string	"CHILDSTATUS"
.LC141:
	.string	"CHILDKILLED"
.LC142:
	.string	"killed"
.LC143:
	.string	"CHILDSUSP"
.LC144:
	.string	"suspended"
.LC145:
	.string	" by signal "
.LC146:
	.string	"child "
.LC147:
	.string	"errorCode"
	.text
	.type	JimCheckWaitStatus, @function
JimCheckWaitStatus:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	QWORD PTR -56[rbp], rcx
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 127
	test	eax, eax
	jne	.L533
	mov	eax, DWORD PTR -48[rbp]
	sar	eax, 8
	movzx	eax, al
	test	eax, eax
	jne	.L533
	mov	eax, 0
	jmp	.L534
.L533:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 127
	test	eax, eax
	jne	.L535
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC140[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -48[rbp]
	sar	eax, 8
	cdqe
	movzx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L536
.L535:
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 127
	add	eax, 1
	sar	al
	test	al, al
	jle	.L537
	lea	rax, .LC141[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, .LC142[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L538
.L537:
	lea	rax, .LC143[rip]
	mov	QWORD PTR -24[rbp], rax
	lea	rax, .LC144[rip]
	mov	QWORD PTR -16[rbp], rax
.L538:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	cmp	QWORD PTR -56[rbp], 0
	je	.L539
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 127
	mov	edi, eax
	call	Jim_SignalId
	mov	rcx, rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	push	0
	lea	rdi, .LC20[rip]
	push	rdi
	mov	r9, rcx
	lea	r8, .LC145[rip]
	mov	rcx, rdx
	lea	rdx, .LC146[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	add	rsp, 16
.L539:
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 127
	mov	edi, eax
	call	Jim_SignalId
	mov	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 127
	mov	edi, eax
	call	Jim_SignalName
	mov	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L536:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	call	Jim_SetGlobalVariableStr
	mov	eax, 1
.L534:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	JimCheckWaitStatus, .-JimCheckWaitStatus
	.type	JimFreeWaitInfoTable, @function
JimFreeWaitInfoTable:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	JimFreeWaitInfoTable, .-JimFreeWaitInfoTable
	.type	JimAllocWaitInfoTable, @function
JimAllocWaitInfoTable:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 16
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	JimAllocWaitInfoTable, .-JimAllocWaitInfoTable
	.section	.rodata
.LC148:
	.string	"&"
	.align 8
.LC149:
	.string	"error reading from output pipe"
.LC150:
	.string	"error reading from error pipe"
	.text
	.type	Jim_ExecCmd, @function
Jim_ExecCmd:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -72[rbp], 1
	cmp	DWORD PTR -108[rbp], 1
	jle	.L544
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC148[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L544
	sub	DWORD PTR -108[rbp], 1
	mov	rax, QWORD PTR -120[rbp]
	lea	rdi, 8[rax]
	mov	eax, DWORD PTR -108[rbp]
	lea	esi, -1[rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	call	JimCreatePipeline
	add	rsp, 16
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 0
	jns	.L545
	mov	eax, 1
	jmp	.L558
.L545:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -68[rbp], 0
	jmp	.L547
.L548:
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	add	DWORD PTR -68[rbp], 1
.L547:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jl	.L548
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L549
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L549:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimDetachPids
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, 0
	jmp	.L558
.L544:
	mov	rax, QWORD PTR -120[rbp]
	lea	rdi, 8[rax]
	mov	eax, DWORD PTR -108[rbp]
	lea	esi, -1[rax]
	lea	r8, -84[rbp]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	lea	rcx, -80[rbp]
	push	rcx
	mov	r9, r8
	mov	r8d, 0
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	call	JimCreatePipeline
	add	rsp, 16
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 0
	jns	.L550
	mov	eax, 1
	jmp	.L558
.L550:
	mov	DWORD PTR -76[rbp], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, -1
	je	.L551
	mov	ecx, DWORD PTR -84[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimAppendStreamToString
	test	eax, eax
	jns	.L551
	mov	DWORD PTR -76[rbp], 1
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC149[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
.L551:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	JimCleanupChildren
	test	eax, eax
	je	.L552
	mov	DWORD PTR -76[rbp], 1
.L552:
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, -1
	je	.L553
	mov	eax, DWORD PTR -80[rbp]
	mov	edi, eax
	call	JimRewindFd
	mov	ecx, DWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimAppendStreamToString
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jns	.L554
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC150[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
	mov	DWORD PTR -76[rbp], 1
	jmp	.L553
.L554:
	cmp	DWORD PTR -60[rbp], 0
	jle	.L553
	mov	DWORD PTR -72[rbp], 0
.L553:
	cmp	DWORD PTR -72[rbp], 0
	je	.L555
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
.L555:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L556
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L556:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_RemoveTrailingNewline
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L557
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L557:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -76[rbp]
.L558:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L559
	call	__stack_chk_fail@PLT
.L559:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	Jim_ExecCmd, .-Jim_ExecCmd
	.type	JimReapDetachedPids, @function
JimReapDetachedPids:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -40[rbp], 0
	je	.L570
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L563
.L568:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	and	eax, 2
	test	eax, eax
	je	.L564
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	rcx, -32[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	edi, eax
	call	waitpid@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L564
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L566
.L564:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	cmp	QWORD PTR -16[rbp], rax
	je	.L567
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rcx
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR 8[rdx], eax
.L567:
	add	DWORD PTR -24[rbp], 1
.L566:
	add	QWORD PTR -16[rbp], 12
	sub	DWORD PTR -28[rbp], 1
.L563:
	cmp	DWORD PTR -28[rbp], 0
	jg	.L568
	jmp	.L560
.L570:
	nop
.L560:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L569
	call	__stack_chk_fail@PLT
.L569:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	JimReapDetachedPids, .-JimReapDetachedPids
	.type	JimWaitForProcess, @function
JimWaitForProcess:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L572
.L576:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L573
	mov	rcx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	edi, eax
	call	waitpid@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 1
	cmp	DWORD PTR -4[rbp], eax
	je	.L574
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	sub	rax, 12
	lea	rdx, [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	add	rax, rsi
	mov	rcx, QWORD PTR [rdx]
	mov	QWORD PTR [rax], rcx
	mov	edx, DWORD PTR 8[rdx]
	mov	DWORD PTR 8[rax], edx
.L574:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	eax, DWORD PTR -28[rbp]
	jmp	.L575
.L573:
	add	DWORD PTR -4[rbp], 1
.L572:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L576
	mov	eax, -1
.L575:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	JimWaitForProcess, .-JimWaitForProcess
	.type	JimDetachPids, @function
JimDetachPids:
.LFB91:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L578
.L583:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L579
.L582:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	cmp	ecx, eax
	jne	.L580
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	mov	ecx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rsi
	or	ecx, 2
	mov	edx, ecx
	mov	DWORD PTR 8[rax], edx
	jmp	.L581
.L580:
	add	DWORD PTR -12[rbp], 1
.L579:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L582
.L581:
	add	DWORD PTR -16[rbp], 1
.L578:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L583
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE91:
	.size	JimDetachPids, .-JimDetachPids
	.type	JimGetAioFilehandle, @function
JimGetAioFilehandle:
.LFB92:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_AioFilehandle
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L585
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L585:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE92:
	.size	JimGetAioFilehandle, .-JimGetAioFilehandle
	.section	.rodata
.LC151:
	.string	"|"
.LC152:
	.string	"|&"
	.align 8
.LC153:
	.string	"illegal use of | or |& in command"
	.align 8
.LC154:
	.string	"can't specify \"%s\" as last word in command"
	.align 8
.LC155:
	.string	"didn't specify command to execute"
.LC156:
	.string	"couldn't read file \"%s\": %s"
	.align 8
.LC157:
	.string	"couldn't create input pipe for command"
.LC158:
	.string	"couldn't write file \"%s\": %s"
.LC159:
	.string	"couldn't create output pipe"
.LC160:
	.string	"1"
.LC161:
	.string	"couldn't create pipe"
.LC162:
	.string	"couldn't fork child process"
.LC163:
	.string	"couldn't exec \"%s\"\n"
	.text
	.type	JimCreatePipeline, @function
JimCreatePipeline:
.LFB93:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 272
	mov	QWORD PTR -216[rbp], rdi
	mov	DWORD PTR -220[rbp], esi
	mov	QWORD PTR -232[rbp], rdx
	mov	QWORD PTR -240[rbp], rcx
	mov	QWORD PTR -248[rbp], r8
	mov	QWORD PTR -256[rbp], r9
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -120[rbp], 0
	mov	DWORD PTR -192[rbp], 0
	mov	QWORD PTR -112[rbp], 0
	mov	DWORD PTR -196[rbp], 0
	mov	DWORD PTR -184[rbp], 0
	mov	DWORD PTR -180[rbp], 0
	mov	DWORD PTR -176[rbp], 0
	mov	QWORD PTR -104[rbp], 0
	mov	QWORD PTR -96[rbp], 0
	mov	DWORD PTR -172[rbp], -1
	mov	DWORD PTR -168[rbp], -1
	mov	DWORD PTR -164[rbp], -1
	mov	DWORD PTR -160[rbp], -1
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -220[rbp]
	add	eax, 1
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -80[rbp], rax
	mov	DWORD PTR -140[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	JimReapDetachedPids
	cmp	QWORD PTR -248[rbp], 0
	je	.L588
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR [rax], -1
.L588:
	cmp	QWORD PTR -256[rbp], 0
	je	.L589
	mov	rax, QWORD PTR -256[rbp]
	mov	DWORD PTR [rax], -1
.L589:
	cmp	QWORD PTR -264[rbp], 0
	je	.L590
	mov	rax, QWORD PTR -264[rbp]
	mov	DWORD PTR [rax], -1
.L590:
	mov	DWORD PTR -12[rbp], -1
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -188[rbp], 1
	mov	DWORD PTR -148[rbp], -1
	mov	DWORD PTR -144[rbp], 0
	jmp	.L591
.L612:
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 60
	jne	.L592
	mov	DWORD PTR -184[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 60
	jne	.L593
	mov	DWORD PTR -184[rbp], 3
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	sub	eax, 2
	mov	DWORD PTR -196[rbp], eax
	add	QWORD PTR -112[rbp], 1
	jmp	.L594
.L593:
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L594
	mov	DWORD PTR -184[rbp], 2
	add	QWORD PTR -112[rbp], 1
.L594:
	mov	rax, QWORD PTR -112[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L595
	add	DWORD PTR -144[rbp], 1
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jge	.L595
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -196[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -112[rbp], rax
	jmp	.L595
.L592:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L596
	mov	DWORD PTR -136[rbp], 0
	mov	DWORD PTR -180[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L597
	mov	DWORD PTR -180[rbp], 1
	add	QWORD PTR -104[rbp], 1
.L597:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	jne	.L598
	add	QWORD PTR -104[rbp], 1
	mov	DWORD PTR -136[rbp], 1
.L598:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L599
	mov	DWORD PTR -180[rbp], 2
	add	QWORD PTR -104[rbp], 1
.L599:
	mov	rax, QWORD PTR -104[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L600
	add	DWORD PTR -144[rbp], 1
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jge	.L600
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -104[rbp], rax
.L600:
	cmp	DWORD PTR -136[rbp], 0
	je	.L595
	mov	eax, DWORD PTR -180[rbp]
	mov	DWORD PTR -176[rbp], eax
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -96[rbp], rax
	jmp	.L595
.L596:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 50
	jne	.L601
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L601
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 2
	mov	QWORD PTR -96[rbp], rax
	mov	DWORD PTR -176[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 64
	jne	.L602
	mov	DWORD PTR -176[rbp], 2
	add	QWORD PTR -96[rbp], 1
	jmp	.L603
.L602:
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L603
	mov	DWORD PTR -176[rbp], 1
	add	QWORD PTR -96[rbp], 1
.L603:
	mov	rax, QWORD PTR -96[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L675
	add	DWORD PTR -144[rbp], 1
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jge	.L675
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -96[rbp], rax
	jmp	.L675
.L601:
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC151[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L605
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC152[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L606
.L605:
	mov	eax, DWORD PTR -148[rbp]
	add	eax, 1
	cmp	DWORD PTR -144[rbp], eax
	je	.L607
	mov	eax, DWORD PTR -220[rbp]
	sub	eax, 1
	cmp	DWORD PTR -144[rbp], eax
	jne	.L608
.L607:
	mov	rax, QWORD PTR -216[rbp]
	mov	edx, -1
	lea	rsi, .LC153[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L609
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L609:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L610
.L608:
	mov	eax, DWORD PTR -144[rbp]
	mov	DWORD PTR -148[rbp], eax
	add	DWORD PTR -188[rbp], 1
.L606:
	mov	eax, DWORD PTR -140[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -140[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L611
.L675:
	nop
.L595:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jl	.L611
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC154[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L610
.L611:
	add	DWORD PTR -144[rbp], 1
.L591:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -220[rbp]
	jl	.L612
	cmp	DWORD PTR -140[rbp], 0
	jne	.L613
	mov	rax, QWORD PTR -216[rbp]
	mov	edx, -1
	lea	rsi, .LC155[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L614
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L614:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
.L610:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, -1
	jmp	.L672
.L613:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	JimBuildEnv
	mov	rdi, rax
	call	JimSaveEnv
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -112[rbp], 0
	je	.L616
	cmp	DWORD PTR -184[rbp], 3
	jne	.L617
	mov	edx, DWORD PTR -196[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimCreateTemp
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], -1
	jne	.L618
	jmp	.L619
.L617:
	cmp	DWORD PTR -184[rbp], 2
	jne	.L620
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetAioFilehandle
	mov	QWORD PTR -64[rbp], rax
	cmp	QWORD PTR -64[rbp], 0
	je	.L676
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	fileno@PLT
	mov	edi, eax
	call	dup@PLT
	mov	DWORD PTR -172[rbp], eax
	jmp	.L618
.L620:
	mov	rax, QWORD PTR -112[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	mov	DWORD PTR -172[rbp], eax
	cmp	DWORD PTR -172[rbp], -1
	jne	.L618
	call	JimStrError
	mov	rcx, rax
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC156[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L619
.L616:
	cmp	QWORD PTR -248[rbp], 0
	je	.L618
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	je	.L622
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC157[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
	jmp	.L619
.L622:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -172[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -12[rbp], -1
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
.L618:
	cmp	QWORD PTR -104[rbp], 0
	je	.L623
	cmp	DWORD PTR -180[rbp], 2
	jne	.L624
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetAioFilehandle
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	je	.L677
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	fileno@PLT
	mov	edi, eax
	call	dup@PLT
	mov	DWORD PTR -160[rbp], eax
	jmp	.L626
.L624:
	cmp	DWORD PTR -180[rbp], 1
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	JimOpenForWrite
	mov	DWORD PTR -160[rbp], eax
	cmp	DWORD PTR -160[rbp], -1
	jne	.L626
	call	JimStrError
	mov	rcx, rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC158[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L619
.L623:
	cmp	QWORD PTR -256[rbp], 0
	je	.L626
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	je	.L627
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC159[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
	jmp	.L619
.L627:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -160[rbp], eax
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -12[rbp], -1
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
.L626:
	cmp	QWORD PTR -96[rbp], 0
	je	.L628
	cmp	DWORD PTR -176[rbp], 2
	jne	.L629
	mov	rax, QWORD PTR -96[rbp]
	lea	rsi, .LC160[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L630
	cmp	DWORD PTR -160[rbp], -1
	je	.L631
	mov	eax, DWORD PTR -160[rbp]
	mov	edi, eax
	call	dup@PLT
	mov	DWORD PTR -164[rbp], eax
	jmp	.L630
.L631:
	lea	rax, .LC57[rip]
	mov	QWORD PTR -96[rbp], rax
.L630:
	cmp	DWORD PTR -164[rbp], -1
	jne	.L632
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetAioFilehandle
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L678
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	fileno@PLT
	mov	edi, eax
	call	dup@PLT
	mov	DWORD PTR -164[rbp], eax
	jmp	.L632
.L629:
	cmp	DWORD PTR -176[rbp], 1
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	JimOpenForWrite
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], -1
	jne	.L632
	call	JimStrError
	mov	rcx, rax
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC158[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L619
.L628:
	cmp	QWORD PTR -264[rbp], 0
	je	.L632
	mov	rax, QWORD PTR -216[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	JimCreateTemp
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -164[rbp], -1
	je	.L679
	mov	eax, DWORD PTR -164[rbp]
	mov	edi, eax
	call	dup@PLT
	mov	rdx, QWORD PTR -264[rbp]
	mov	DWORD PTR [rdx], eax
.L632:
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	eax, 2
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -120[rbp], rax
	mov	DWORD PTR -144[rbp], 0
	jmp	.L635
.L636:
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	add	DWORD PTR -144[rbp], 1
.L635:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jl	.L636
	mov	DWORD PTR -156[rbp], 0
	jmp	.L637
.L658:
	mov	DWORD PTR -132[rbp], 0
	mov	eax, DWORD PTR -164[rbp]
	mov	DWORD PTR -128[rbp], eax
	mov	eax, DWORD PTR -156[rbp]
	mov	DWORD PTR -152[rbp], eax
	jmp	.L638
.L642:
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	jne	.L639
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	jne	.L680
	mov	DWORD PTR -132[rbp], 1
	jmp	.L680
.L639:
	add	DWORD PTR -152[rbp], 1
.L638:
	mov	eax, DWORD PTR -152[rbp]
	cmp	eax, DWORD PTR -140[rbp]
	jl	.L642
	jmp	.L641
.L680:
	nop
.L641:
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	eax, DWORD PTR -152[rbp]
	cmp	eax, DWORD PTR -140[rbp]
	jne	.L643
	mov	eax, DWORD PTR -160[rbp]
	mov	DWORD PTR -168[rbp], eax
	jmp	.L644
.L643:
	lea	rax, -16[rbp]
	mov	rdi, rax
	call	pipe@PLT
	test	eax, eax
	je	.L645
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC161[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
	jmp	.L619
.L645:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -168[rbp], eax
.L644:
	cmp	DWORD PTR -132[rbp], 0
	je	.L646
	mov	eax, DWORD PTR -168[rbp]
	mov	DWORD PTR -164[rbp], eax
.L646:
	call	vfork@PLT
	endbr64
	mov	DWORD PTR -124[rbp], eax
	cmp	DWORD PTR -124[rbp], 0
	jns	.L674
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC162[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
	jmp	.L619
.L674:
	cmp	DWORD PTR -124[rbp], 0
	jne	.L649
	cmp	DWORD PTR -172[rbp], -1
	je	.L650
	mov	eax, DWORD PTR -172[rbp]
	mov	esi, 0
	mov	edi, eax
	call	dup2@PLT
.L650:
	cmp	DWORD PTR -168[rbp], -1
	je	.L651
	mov	eax, DWORD PTR -168[rbp]
	mov	esi, 1
	mov	edi, eax
	call	dup2@PLT
.L651:
	cmp	DWORD PTR -164[rbp], -1
	je	.L652
	mov	eax, DWORD PTR -164[rbp]
	mov	esi, 2
	mov	edi, eax
	call	dup2@PLT
.L652:
	mov	DWORD PTR -144[rbp], 3
	jmp	.L653
.L654:
	mov	eax, DWORD PTR -144[rbp]
	mov	edi, eax
	call	close@PLT
	add	DWORD PTR -144[rbp], 1
.L653:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -168[rbp]
	jle	.L654
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -172[rbp]
	jle	.L654
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -164[rbp]
	jle	.L654
	mov	esi, 0
	mov	edi, 13
	call	signal@PLT
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	execvp@PLT
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC163[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edi, 127
	call	_exit@PLT
.L649:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L655
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 4[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rdx], rax
.L655:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	lea	rdx, [rcx+rax]
	mov	eax, DWORD PTR -124[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	add	rax, rcx
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	eax, DWORD PTR -192[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -124[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -128[rbp]
	mov	DWORD PTR -164[rbp], eax
	cmp	DWORD PTR -172[rbp], -1
	je	.L656
	mov	eax, DWORD PTR -172[rbp]
	mov	edi, eax
	call	close@PLT
.L656:
	cmp	DWORD PTR -168[rbp], -1
	je	.L657
	mov	eax, DWORD PTR -168[rbp]
	mov	edi, eax
	call	close@PLT
.L657:
	mov	eax, DWORD PTR -16[rbp]
	mov	DWORD PTR -172[rbp], eax
	mov	DWORD PTR -12[rbp], -1
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
	add	DWORD PTR -192[rbp], 1
	mov	eax, DWORD PTR -152[rbp]
	add	eax, 1
	mov	DWORD PTR -156[rbp], eax
.L637:
	mov	eax, DWORD PTR -156[rbp]
	cmp	eax, DWORD PTR -140[rbp]
	jl	.L658
	mov	rax, QWORD PTR -240[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
.L659:
	cmp	DWORD PTR -172[rbp], -1
	je	.L660
	mov	eax, DWORD PTR -172[rbp]
	mov	edi, eax
	call	close@PLT
.L660:
	cmp	DWORD PTR -160[rbp], -1
	je	.L661
	mov	eax, DWORD PTR -160[rbp]
	mov	edi, eax
	call	close@PLT
.L661:
	cmp	DWORD PTR -164[rbp], -1
	je	.L662
	mov	eax, DWORD PTR -164[rbp]
	mov	edi, eax
	call	close@PLT
.L662:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	JimRestoreEnv
	mov	eax, DWORD PTR -192[rbp]
	jmp	.L672
.L676:
	nop
	jmp	.L619
.L677:
	nop
	jmp	.L619
.L678:
	nop
	jmp	.L619
.L679:
	nop
.L619:
	cmp	QWORD PTR -248[rbp], 0
	je	.L663
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	je	.L663
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR [rax], -1
.L663:
	cmp	QWORD PTR -256[rbp], 0
	je	.L664
	mov	rax, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	je	.L664
	mov	rax, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR -256[rbp]
	mov	DWORD PTR [rax], -1
.L664:
	cmp	QWORD PTR -264[rbp], 0
	je	.L665
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	je	.L665
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	close@PLT
	mov	rax, QWORD PTR -264[rbp]
	mov	DWORD PTR [rax], -1
.L665:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, -1
	je	.L666
	mov	eax, DWORD PTR -16[rbp]
	mov	edi, eax
	call	close@PLT
.L666:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, -1
	je	.L667
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	close@PLT
.L667:
	cmp	QWORD PTR -120[rbp], 0
	je	.L668
	mov	DWORD PTR -144[rbp], 0
	jmp	.L669
.L671:
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	je	.L670
	mov	eax, DWORD PTR -144[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -216[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	JimDetachPids
.L670:
	add	DWORD PTR -144[rbp], 1
.L669:
	mov	eax, DWORD PTR -144[rbp]
	cmp	eax, DWORD PTR -192[rbp]
	jl	.L671
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	Jim_Free
.L668:
	mov	DWORD PTR -192[rbp], -1
	jmp	.L659
.L672:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L673
	call	__stack_chk_fail@PLT
.L673:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE93:
	.size	JimCreatePipeline, .-JimCreatePipeline
	.type	JimCleanupChildren, @function
JimCleanupChildren:
.LFB94:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	jmp	.L682
.L684:
	mov	DWORD PTR -28[rbp], 0
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimWaitForProcess
	cmp	eax, -1
	je	.L683
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	mov	esi, DWORD PTR [rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	JimCheckWaitStatus
	test	eax, eax
	je	.L683
	mov	DWORD PTR -24[rbp], 1
.L683:
	add	DWORD PTR -20[rbp], 1
.L682:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L684
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, DWORD PTR -24[rbp]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L686
	call	__stack_chk_fail@PLT
.L686:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE94:
	.size	JimCleanupChildren, .-JimCleanupChildren
	.section	.rodata
.LC164:
	.string	"exec"
	.text
	.globl	Jim_execInit
	.type	Jim_execInit, @function
Jim_execInit:
.LFB95:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC164[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L688
	mov	eax, 1
	jmp	.L689
.L688:
	mov	esi, 1
	mov	edi, 13
	call	signal@PLT
	call	JimAllocWaitInfoTable
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	lea	r8, JimFreeWaitInfoTable[rip]
	mov	rcx, rdx
	lea	rdx, Jim_ExecCmd[rip]
	lea	rsi, .LC164[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	eax, 0
.L689:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE95:
	.size	Jim_execInit, .-Jim_execInit
	.type	JimOpenForWrite, @function
JimOpenForWrite:
.LFB96:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	cmp	DWORD PTR -12[rbp], 0
	je	.L691
	mov	ecx, 1089
	jmp	.L692
.L691:
	mov	ecx, 577
.L692:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 438
	mov	esi, ecx
	mov	rdi, rax
	mov	eax, 0
	call	open@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE96:
	.size	JimOpenForWrite, .-JimOpenForWrite
	.type	JimRewindFd, @function
JimRewindFd:
.LFB97:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE97:
	.size	JimRewindFd, .-JimRewindFd
	.section	.rodata
.LC165:
	.string	"couldn't write temp file"
	.text
	.type	JimCreateTemp, @function
JimCreateTemp:
.LFB98:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_MakeTempFile
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L697
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdi, rax
	call	unlink@PLT
	cmp	QWORD PTR -32[rbp], 0
	je	.L697
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -4[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	write@PLT
	mov	edx, DWORD PTR -36[rbp]
	movsx	rdx, edx
	cmp	rax, rdx
	je	.L698
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC165[rip]
	mov	rdi, rax
	call	Jim_SetResultErrno
	mov	eax, DWORD PTR -4[rbp]
	mov	edi, eax
	call	close@PLT
	mov	eax, -1
	jmp	.L699
.L698:
	mov	eax, DWORD PTR -4[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	edi, eax
	call	lseek@PLT
.L697:
	mov	eax, DWORD PTR -4[rbp]
.L699:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE98:
	.size	JimCreateTemp, .-JimCreateTemp
	.type	JimSaveEnv, @function
JimSaveEnv:
.LFB99:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	call	Jim_GetEnviron
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_SetEnviron
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE99:
	.size	JimSaveEnv, .-JimSaveEnv
	.type	JimRestoreEnv, @function
JimRestoreEnv:
.LFB100:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	call	Jim_GetEnviron
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	JimFreeEnv
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_SetEnviron
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE100:
	.size	JimRestoreEnv, .-JimRestoreEnv
	.section	.rodata
.LC166:
	.string	"%a %b %d %H:%M:%S %Z %Y"
.LC167:
	.string	"-format"
.LC168:
	.string	"format string too long"
	.text
	.type	clock_cmd_format, @function
clock_cmd_format:
.LFB101:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	DWORD PTR -172[rbp], esi
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, .LC166[rip]
	mov	QWORD PTR -136[rbp], rax
	cmp	DWORD PTR -172[rbp], 2
	je	.L704
	cmp	DWORD PTR -172[rbp], 3
	jne	.L705
	mov	rax, QWORD PTR -184[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	lea	rdx, .LC167[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	jne	.L705
.L704:
	mov	eax, -1
	jmp	.L712
.L705:
	cmp	DWORD PTR -172[rbp], 3
	jne	.L707
	mov	rax, QWORD PTR -184[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -136[rbp], rax
.L707:
	mov	rax, QWORD PTR -184[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -144[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L708
	mov	eax, 1
	jmp	.L712
.L708:
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -152[rbp], rax
	lea	rax, -152[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -136[rbp]
	lea	rax, -112[rbp]
	mov	esi, 100
	mov	rdi, rax
	call	strftime@PLT
	test	rax, rax
	jne	.L709
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC168[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L710
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L710:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L712
.L709:
	lea	rcx, -112[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L711
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L711:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L712:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L713
	call	__stack_chk_fail@PLT
.L713:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE101:
	.size	clock_cmd_format, .-clock_cmd_format
	.type	clock_cmd_seconds, @function
clock_cmd_seconds:
.LFB102:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	edi, 0
	call	time@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L715
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L715:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE102:
	.size	clock_cmd_seconds, .-clock_cmd_seconds
	.type	clock_cmd_micros, @function
clock_cmd_micros:
.LFB103:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rdx, rax, 1000000
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L718
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L718:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L720
	call	__stack_chk_fail@PLT
.L720:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE103:
	.size	clock_cmd_micros, .-clock_cmd_micros
	.type	clock_cmd_millis, @function
clock_cmd_millis:
.LFB104:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rsi, rax, 1000
	mov	rcx, QWORD PTR -24[rbp]
	movabs	rdx, 2361183241434822607
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 7
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L722
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L722:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L724
	call	__stack_chk_fail@PLT
.L724:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE104:
	.size	clock_cmd_millis, .-clock_cmd_millis
	.section	.rodata
.LC169:
	.string	"seconds"
.LC170:
	.string	"clicks"
.LC171:
	.string	"microseconds"
.LC172:
	.string	"milliseconds"
.LC173:
	.string	"format"
.LC174:
	.string	"seconds ?-format format?"
	.section	.data.rel.ro.local
	.align 32
	.type	clock_command_table, @object
	.size	clock_command_table, 192
clock_command_table:
	.quad	.LC169
	.quad	0
	.quad	clock_cmd_seconds
	.value	0
	.value	0
	.zero	4
	.quad	.LC170
	.quad	0
	.quad	clock_cmd_micros
	.value	0
	.value	0
	.zero	4
	.quad	.LC171
	.quad	0
	.quad	clock_cmd_micros
	.value	0
	.value	0
	.zero	4
	.quad	.LC172
	.quad	0
	.quad	clock_cmd_millis
	.value	0
	.value	0
	.zero	4
	.quad	.LC173
	.quad	.LC174
	.quad	clock_cmd_format
	.value	1
	.value	3
	.zero	4
	.quad	0
	.zero	24
	.section	.rodata
.LC175:
	.string	"clock"
	.text
	.globl	Jim_clockInit
	.type	Jim_clockInit, @function
Jim_clockInit:
.LFB105:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC175[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L726
	mov	eax, 1
	jmp	.L727
.L726:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	lea	rcx, clock_command_table[rip]
	lea	rdx, Jim_SubCmdProc[rip]
	lea	rsi, .LC175[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	eax, 0
.L727:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE105:
	.size	Jim_clockInit, .-Jim_clockInit
	.type	array_cmd_exists, @function
array_cmd_exists:
.LFB106:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	test	rax, rax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L729
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L729:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE106:
	.size	array_cmd_exists, .-array_cmd_exists
	.section	.rodata
.LC176:
	.string	"*"
	.text
	.type	array_cmd_get, @function
array_cmd_get:
.LFB107:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L732
	mov	eax, 0
	jmp	.L733
.L732:
	cmp	DWORD PTR -44[rbp], 1
	je	.L734
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L735
.L734:
	mov	eax, 0
.L735:
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L736
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC176[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L737
.L736:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_IsList
	test	eax, eax
	je	.L737
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	and	eax, 1
	test	eax, eax
	jne	.L737
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L738
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L738:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L733
.L737:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_DictValues
.L733:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE107:
	.size	array_cmd_get, .-array_cmd_get
	.type	array_cmd_names, @function
array_cmd_names:
.LFB108:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L740
	mov	eax, 0
	jmp	.L741
.L740:
	cmp	DWORD PTR -28[rbp], 1
	je	.L742
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L743
.L742:
	mov	eax, 0
.L743:
	mov	rsi, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, rax
	mov	rdi, rcx
	call	Jim_DictKeys
.L741:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE108:
	.size	array_cmd_names, .-array_cmd_names
	.type	array_cmd_unset, @function
array_cmd_unset:
.LFB109:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 1
	je	.L745
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, .LC176[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L746
.L745:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_UnsetVariable
	mov	eax, 0
	jmp	.L753
.L746:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L748
	mov	eax, 0
	jmp	.L753
.L748:
	lea	rcx, -40[rbp]
	lea	rdx, -32[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_DictPairs
	test	eax, eax
	je	.L749
	mov	eax, 1
	jmp	.L753
.L749:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewDictObj
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L750
.L752:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_StringMatchObj
	test	eax, eax
	jne	.L751
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, 1
	sal	rax, 3
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_DictAddElement
.L751:
	add	DWORD PTR -36[rbp], 2
.L750:
	mov	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -36[rbp], eax
	jl	.L752
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	eax, 0
.L753:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L754
	call	__stack_chk_fail@PLT
.L754:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE109:
	.size	array_cmd_unset, .-array_cmd_unset
	.type	array_cmd_size, @function
array_cmd_size:
.LFB110:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L756
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jns	.L756
	mov	eax, 1
	jmp	.L757
.L756:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L758
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L758:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L757:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE110:
	.size	array_cmd_size, .-array_cmd_size
	.section	.rodata
.LC177:
	.string	"\"%#s\" isn't an array"
	.text
	.type	array_cmd_stat, @function
array_cmd_stat:
.LFB111:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L760
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictInfo
	jmp	.L761
.L760:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	lea	rsi, .LC177[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
.L761:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE111:
	.size	array_cmd_stat, .-array_cmd_stat
	.section	.rodata
	.align 8
.LC178:
	.string	"list must have an even number of elements"
	.text
	.type	array_cmd_set, @function
array_cmd_set:
.LFB112:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L763
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC178[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L764
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L764:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L765
.L763:
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L766
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	jmp	.L765
.L766:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	test	eax, eax
	jns	.L767
	mov	eax, 1
	jmp	.L765
.L767:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L768
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -32[rbp], rax
.L768:
	mov	DWORD PTR -56[rbp], 0
	jmp	.L769
.L770:
	lea	rcx, -48[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	Jim_ListIndex
	mov	eax, DWORD PTR -56[rbp]
	lea	edi, 1[rax]
	lea	rdx, -40[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, 0
	mov	rcx, rdx
	mov	edx, edi
	mov	rdi, rax
	call	Jim_ListIndex
	mov	rcx, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	Jim_DictAddElement
	add	DWORD PTR -56[rbp], 2
.L769:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jl	.L770
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
.L765:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L771
	call	__stack_chk_fail@PLT
.L771:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE112:
	.size	array_cmd_set, .-array_cmd_set
	.section	.rodata
.LC179:
	.string	"arrayName"
.LC180:
	.string	"get"
.LC181:
	.string	"arrayName ?pattern?"
.LC182:
	.string	"names"
.LC183:
	.string	"set"
.LC184:
	.string	"arrayName list"
.LC185:
	.string	"unset"
	.section	.data.rel.ro.local
	.align 32
	.type	array_command_table, @object
	.size	array_command_table, 256
array_command_table:
	.quad	.LC119
	.quad	.LC179
	.quad	array_cmd_exists
	.value	1
	.value	1
	.zero	4
	.quad	.LC180
	.quad	.LC181
	.quad	array_cmd_get
	.value	1
	.value	2
	.zero	4
	.quad	.LC182
	.quad	.LC181
	.quad	array_cmd_names
	.value	1
	.value	2
	.zero	4
	.quad	.LC183
	.quad	.LC184
	.quad	array_cmd_set
	.value	2
	.value	2
	.zero	4
	.quad	.LC86
	.quad	.LC179
	.quad	array_cmd_size
	.value	1
	.value	1
	.zero	4
	.quad	.LC127
	.quad	.LC179
	.quad	array_cmd_stat
	.value	1
	.value	1
	.zero	4
	.quad	.LC185
	.quad	.LC181
	.quad	array_cmd_unset
	.value	1
	.value	2
	.zero	4
	.quad	0
	.zero	24
	.section	.rodata
.LC186:
	.string	"array"
	.text
	.globl	Jim_arrayInit
	.type	Jim_arrayInit, @function
Jim_arrayInit:
.LFB113:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	lea	rdx, .LC0[rip]
	lea	rsi, .LC186[rip]
	mov	rdi, rax
	call	Jim_PackageProvide
	test	eax, eax
	je	.L773
	mov	eax, 1
	jmp	.L774
.L773:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	lea	rcx, array_command_table[rip]
	lea	rdx, Jim_SubCmdProc[rip]
	lea	rsi, .LC186[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
	mov	eax, 0
.L774:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE113:
	.size	Jim_arrayInit, .-Jim_arrayInit
	.globl	Jim_InitStaticExtensions
	.type	Jim_InitStaticExtensions, @function
Jim_InitStaticExtensions:
.LFB114:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_bootstrapInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_aioInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_readdirInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_regexpInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_fileInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_globInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_execInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_clockInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_arrayInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_stdlibInit
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_tclcompatInit
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE114:
	.size	Jim_InitStaticExtensions, .-Jim_InitStaticExtensions
	.local	JimEmptyStringRep
	.comm	JimEmptyStringRep,1,1
	.type	utf8_tounicode_case, @function
utf8_tounicode_case:
.LFB115:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -36[rbp], 0
	je	.L778
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	toupper@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
.L778:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE115:
	.size	utf8_tounicode_case, .-utf8_tounicode_case
	.type	JimCharsetMatch, @function
JimCharsetMatch:
.LFB116:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	mov	DWORD PTR -12[rbp], 0
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 1
	test	eax, eax
	je	.L781
	add	DWORD PTR -12[rbp], 1
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	toupper@PLT
	mov	DWORD PTR -44[rbp], eax
.L781:
	mov	eax, DWORD PTR -48[rbp]
	and	eax, 2
	test	eax, eax
	je	.L800
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 94
	jne	.L783
	add	DWORD PTR -20[rbp], 1
	add	QWORD PTR -40[rbp], 1
.L783:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L800
	jmp	.L784
.L794:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L786
	nop
.L784:
	mov	edx, DWORD PTR -12[rbp]
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -40[rbp], rax
	jmp	.L787
.L786:
	mov	edx, DWORD PTR -12[rbp]
	lea	rcx, -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L788
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L788
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -40[rbp], rax
	mov	edx, DWORD PTR -12[rbp]
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L789
	mov	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jle	.L790
.L789:
	mov	eax, DWORD PTR -24[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L792
	mov	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jg	.L792
.L790:
	mov	DWORD PTR -16[rbp], 1
	jmp	.L792
.L788:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
.L787:
	mov	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jne	.L792
	mov	DWORD PTR -16[rbp], 1
	jmp	.L792
.L800:
	nop
.L792:
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L793
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L794
.L793:
	cmp	DWORD PTR -20[rbp], 0
	je	.L795
	cmp	DWORD PTR -16[rbp], 0
	sete	al
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
.L795:
	cmp	DWORD PTR -16[rbp], 0
	je	.L796
	mov	rax, QWORD PTR -40[rbp]
	jmp	.L798
.L796:
	mov	eax, 0
.L798:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L799
	call	__stack_chk_fail@PLT
.L799:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE116:
	.size	JimCharsetMatch, .-JimCharsetMatch
	.type	JimGlobMatch, @function
JimGlobMatch:
.LFB117:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L802
.L822:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 92
	je	.L803
	cmp	eax, 92
	jg	.L804
	cmp	eax, 91
	je	.L805
	cmp	eax, 91
	jg	.L804
	cmp	eax, 42
	je	.L808
	cmp	eax, 63
	je	.L807
	jmp	.L804
.L809:
	add	QWORD PTR -24[rbp], 1
.L808:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L809
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L812
	mov	eax, 1
	jmp	.L824
.L814:
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGlobMatch
	test	eax, eax
	je	.L813
	mov	eax, 1
	jmp	.L824
.L813:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -32[rbp], rax
.L812:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L814
	mov	eax, 0
	jmp	.L824
.L807:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -32[rbp], rax
	jmp	.L815
.L805:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -32[rbp], rax
	cmp	DWORD PTR -36[rbp], 0
	setne	al
	movzx	edx, al
	mov	eax, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	add	rcx, 1
	mov	esi, eax
	mov	rdi, rcx
	call	JimCharsetMatch
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L816
	mov	eax, 0
	jmp	.L824
.L816:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L826
	jmp	.L802
.L803:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L804
	add	QWORD PTR -24[rbp], 1
.L804:
	mov	edx, DWORD PTR -36[rbp]
	lea	rcx, -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -32[rbp], rax
	mov	edx, DWORD PTR -36[rbp]
	lea	rcx, -12[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -16[rbp]
	cmp	edx, eax
	je	.L827
	mov	eax, 0
	jmp	.L824
.L826:
	nop
	jmp	.L815
.L827:
	nop
.L815:
	mov	edx, DWORD PTR -36[rbp]
	lea	rcx, -12[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L802
	jmp	.L819
.L820:
	add	QWORD PTR -24[rbp], 1
.L819:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L820
	jmp	.L821
.L802:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L822
.L821:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L823
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L823
	mov	eax, 1
	jmp	.L824
.L823:
	mov	eax, 0
.L824:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L825
	call	__stack_chk_fail@PLT
.L825:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE117:
	.size	JimGlobMatch, .-JimGlobMatch
	.type	JimStringCompare, @function
JimStringCompare:
.LFB118:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -16[rbp], ecx
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jge	.L829
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jg	.L830
	mov	eax, -1
	jmp	.L832
.L830:
	mov	eax, 1
	jmp	.L832
.L829:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jge	.L833
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	js	.L834
	mov	eax, 1
	jmp	.L832
.L834:
	mov	eax, -1
	jmp	.L832
.L833:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	cdqe
	mov	rdi, rax
	call	JimSign
.L832:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE118:
	.size	JimStringCompare, .-JimStringCompare
	.type	JimStringCompareLen, @function
JimStringCompareLen:
.LFB119:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L837
.L841:
	mov	edx, DWORD PTR -40[rbp]
	lea	rcx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -24[rbp], rax
	mov	edx, DWORD PTR -40[rbp]
	lea	rcx, -12[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	utf8_tounicode_case
	cdqe
	add	QWORD PTR -32[rbp], rax
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -12[rbp]
	cmp	edx, eax
	je	.L838
	mov	eax, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR -12[rbp]
	sub	eax, edx
	cdqe
	mov	rdi, rax
	call	JimSign
	jmp	.L839
.L838:
	sub	DWORD PTR -36[rbp], 1
.L837:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L840
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L840
	cmp	DWORD PTR -36[rbp], 0
	jne	.L841
.L840:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L842
	mov	eax, 0
	jmp	.L839
.L842:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L843
	mov	eax, 1
	jmp	.L839
.L843:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L844
	mov	eax, -1
	jmp	.L839
.L844:
	mov	eax, 0
.L839:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L845
	call	__stack_chk_fail@PLT
.L845:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE119:
	.size	JimStringCompareLen, .-JimStringCompareLen
	.type	JimStringFirst, @function
JimStringFirst:
.LFB120:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -48[rbp], ecx
	mov	DWORD PTR -60[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L847
	cmp	DWORD PTR -48[rbp], 0
	je	.L847
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jle	.L848
.L847:
	mov	eax, -1
	jmp	.L849
.L848:
	cmp	DWORD PTR -60[rbp], 0
	jns	.L850
	mov	DWORD PTR -60[rbp], 0
.L850:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	DWORD PTR -16[rbp], eax
	jmp	.L851
.L853:
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L852
	mov	eax, DWORD PTR -16[rbp]
	jmp	.L849
.L852:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -20[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -56[rbp], rax
	add	DWORD PTR -16[rbp], 1
.L851:
	mov	eax, DWORD PTR -48[rbp]
	sub	eax, DWORD PTR -44[rbp]
	cmp	DWORD PTR -16[rbp], eax
	jle	.L853
	mov	eax, -1
.L849:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L854
	call	__stack_chk_fail@PLT
.L854:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE120:
	.size	JimStringFirst, .-JimStringFirst
	.type	JimStringLast, @function
JimStringLast:
.LFB121:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -32[rbp], ecx
	cmp	DWORD PTR -28[rbp], 0
	je	.L856
	cmp	DWORD PTR -32[rbp], 0
	je	.L856
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jle	.L857
.L856:
	mov	eax, -1
	jmp	.L858
.L857:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	jmp	.L859
.L861:
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L860
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L860
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -40[rbp]
	jmp	.L858
.L860:
	sub	QWORD PTR -8[rbp], 1
.L859:
	mov	rax, QWORD PTR -40[rbp]
	sub	rax, 1
	cmp	QWORD PTR -8[rbp], rax
	jne	.L861
	mov	eax, -1
.L858:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE121:
	.size	JimStringLast, .-JimStringLast
	.type	JimCheckConversion, @function
JimCheckConversion:
.LFB122:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L863
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jne	.L864
.L863:
	mov	eax, 1
	jmp	.L865
.L864:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L866
	jmp	.L867
.L869:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L868
	mov	eax, 1
	jmp	.L865
.L868:
	add	QWORD PTR -16[rbp], 1
.L867:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L869
.L866:
	mov	eax, 0
.L865:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE122:
	.size	JimCheckConversion, .-JimCheckConversion
	.type	JimNumberBase, @function
JimNumberBase:
.LFB123:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 10
	jmp	.L871
.L872:
	add	DWORD PTR -4[rbp], 1
.L871:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L872
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L873
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], -1
	add	DWORD PTR -4[rbp], 1
	jmp	.L874
.L873:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L875
	add	DWORD PTR -4[rbp], 1
.L875:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 1
.L874:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 48
	je	.L876
	mov	eax, 0
	jmp	.L877
.L876:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 66
	cmp	eax, 54
	seta	dl
	test	dl, dl
	jne	.L878
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	movabs	rdx, 4294967297
	and	rdx, rax
	test	rdx, rdx
	setne	dl
	test	dl, dl
	jne	.L879
	movabs	rdx, 35184372097024
	and	rdx, rax
	test	rdx, rdx
	setne	dl
	test	dl, dl
	jne	.L880
	movabs	rdx, 18014398513676288
	and	rax, rdx
	test	rax, rax
	setne	al
	test	al, al
	je	.L878
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 16
	jmp	.L881
.L880:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 8
	jmp	.L881
.L879:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 2
	jmp	.L881
.L878:
	mov	eax, 0
	jmp	.L877
.L881:
	add	DWORD PTR -4[rbp], 2
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	je	.L882
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L882
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L882
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L877
.L882:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 10
	mov	eax, 0
.L877:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE123:
	.size	JimNumberBase, .-JimNumberBase
	.type	jim_strtol, @function
jim_strtol:
.LFB124:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -28[rbp]
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimNumberBase
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, 10
	je	.L884
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	strtol@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L885
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	movsx	rcx, edx
	mov	rdx, QWORD PTR -40[rbp]
	add	rdx, rcx
	cmp	rax, rdx
	je	.L884
.L885:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	imul	rax, QWORD PTR -16[rbp]
	jmp	.L887
.L884:
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
.L887:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L888
	call	__stack_chk_fail@PLT
.L888:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE124:
	.size	jim_strtol, .-jim_strtol
	.type	jim_strtoull, @function
jim_strtoull:
.LFB125:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtol
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE125:
	.size	jim_strtoull, .-jim_strtoull
	.globl	Jim_StringToWide
	.type	Jim_StringToWide, @function
Jim_StringToWide:
.LFB126:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L892
	mov	edx, DWORD PTR -36[rbp]
	lea	rcx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L893
.L892:
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtoull
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
.L893:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimCheckConversion
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L895
	call	__stack_chk_fail@PLT
.L895:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE126:
	.size	Jim_StringToWide, .-Jim_StringToWide
	.globl	Jim_StringToDouble
	.type	Jim_StringToDouble, @function
Jim_StringToDouble:
.LFB127:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	call	__errno_location@PLT
	mov	DWORD PTR [rax], 0
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimCheckConversion
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L898
	call	__stack_chk_fail@PLT
.L898:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE127:
	.size	Jim_StringToDouble, .-Jim_StringToDouble
	.type	JimPowWide, @function
JimPowWide:
.LFB128:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -8[rbp], 1
	cmp	QWORD PTR -24[rbp], 0
	jne	.L900
	cmp	QWORD PTR -32[rbp], 0
	jne	.L901
.L900:
	cmp	QWORD PTR -32[rbp], 0
	jns	.L902
.L901:
	mov	eax, 0
	jmp	.L903
.L902:
	mov	QWORD PTR -16[rbp], 0
	jmp	.L904
.L905:
	mov	rax, QWORD PTR -8[rbp]
	imul	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	add	QWORD PTR -16[rbp], 1
.L904:
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jl	.L905
	mov	rax, QWORD PTR -8[rbp]
.L903:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE128:
	.size	JimPowWide, .-JimPowWide
	.globl	Jim_Alloc
	.type	Jim_Alloc, @function
Jim_Alloc:
.LFB129:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	je	.L907
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	jmp	.L909
.L907:
	mov	eax, 0
.L909:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE129:
	.size	Jim_Alloc, .-Jim_Alloc
	.globl	Jim_Free
	.type	Jim_Free, @function
Jim_Free:
.LFB130:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE130:
	.size	Jim_Free, .-Jim_Free
	.globl	Jim_Realloc
	.type	Jim_Realloc, @function
Jim_Realloc:
.LFB131:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE131:
	.size	Jim_Realloc, .-Jim_Realloc
	.globl	Jim_StrDup
	.type	Jim_StrDup, @function
Jim_StrDup:
.LFB132:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strdup@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE132:
	.size	Jim_StrDup, .-Jim_StrDup
	.globl	Jim_StrDupLen
	.type	Jim_StrDupLen, @function
Jim_StrDupLen:
.LFB133:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	movsx	rdx, eax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE133:
	.size	Jim_StrDupLen, .-Jim_StrDupLen
	.type	JimClock, @function
JimClock:
.LFB134:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	gettimeofday@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rdx, rax, 1000000
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L919
	call	__stack_chk_fail@PLT
.L919:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE134:
	.size	JimClock, .-JimClock
	.globl	Jim_IntHashFunction
	.type	Jim_IntHashFunction, @function
Jim_IntHashFunction:
.LFB135:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 15
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, edx
	sub	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 10
	xor	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 6
	xor	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 11
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, edx
	sub	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	shr	eax, 16
	xor	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE135:
	.size	Jim_IntHashFunction, .-Jim_IntHashFunction
	.globl	Jim_GenHashFunction
	.type	Jim_GenHashFunction, @function
Jim_GenHashFunction:
.LFB136:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L923
.L924:
	mov	eax, DWORD PTR -4[rbp]
	lea	ecx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, ecx
	add	DWORD PTR -4[rbp], eax
.L923:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -28[rbp], edx
	test	eax, eax
	jne	.L924
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE136:
	.size	Jim_GenHashFunction, .-Jim_GenHashFunction
	.type	JimResetHashTable, @function
JimResetHashTable:
.LFB137:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE137:
	.size	JimResetHashTable, .-JimResetHashTable
	.type	JimInitHashTableIterator, @function
JimInitHashTableIterator:
.LFB138:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], -1
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE138:
	.size	JimInitHashTableIterator, .-JimInitHashTableIterator
	.globl	Jim_InitHashTable
	.type	Jim_InitHashTable, @function
Jim_InitHashTable:
.LFB139:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimResetHashTable
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE139:
	.size	Jim_InitHashTable, .-Jim_InitHashTable
	.globl	Jim_ResizeHashTable
	.type	Jim_ResizeHashTable, @function
Jim_ResizeHashTable:
.LFB140:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 15
	jg	.L931
	mov	DWORD PTR -4[rbp], 16
.L931:
	mov	edx, DWORD PTR -4[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_ExpandHashTable
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE140:
	.size	Jim_ResizeHashTable, .-Jim_ResizeHashTable
	.section	.rodata
.LC187:
	.string	"the_stack_data/915129.c"
.LC188:
	.string	"ht->used == 0"
	.text
	.globl	Jim_ExpandHashTable
	.type	Jim_ExpandHashTable, @function
Jim_ExpandHashTable:
.LFB141:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -120[rbp], rdi
	mov	DWORD PTR -124[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -124[rbp]
	mov	edi, eax
	call	JimHashTableNextPower
	mov	DWORD PTR -104[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -124[rbp], eax
	jbe	.L943
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR 8[rax]
	lea	rax, -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_InitHashTable
	mov	eax, DWORD PTR -104[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, 1
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -108[rbp], 0
	jmp	.L935
.L940:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L944
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	jmp	.L938
.L939:
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	rdx
	mov	edx, eax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	and	eax, edx
	mov	DWORD PTR -100[rbp], eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -100[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -100[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -96[rbp], rax
.L938:
	cmp	QWORD PTR -96[rbp], 0
	jne	.L939
	jmp	.L937
.L944:
	nop
.L937:
	add	DWORD PTR -108[rbp], 1
.L935:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L940
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L941
	lea	rcx, __PRETTY_FUNCTION__.18[rip]
	mov	edx, 6641
	lea	rsi, .LC187[rip]
	lea	rdi, .LC188[rip]
	call	__assert_fail@PLT
.L941:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rbx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR -56[rbp]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rbx, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	jmp	.L932
.L943:
	nop
.L932:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L942
	call	__stack_chk_fail@PLT
.L942:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE141:
	.size	Jim_ExpandHashTable, .-Jim_ExpandHashTable
	.globl	Jim_AddHashEntry
	.type	Jim_AddHashEntry, @function
Jim_AddHashEntry:
.LFB142:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	JimInsertHashEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L946
	mov	eax, 1
	jmp	.L947
.L946:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L948
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L949
.L948:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
.L949:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L950
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L951
.L950:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
.L951:
	mov	eax, 0
.L947:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE142:
	.size	Jim_AddHashEntry, .-Jim_AddHashEntry
	.globl	Jim_ReplaceHashEntry
	.type	Jim_ReplaceHashEntry, @function
Jim_ReplaceHashEntry:
.LFB143:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	JimInsertHashEntry
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L953
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L954
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L954
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L955
.L954:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L956
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L956:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L957
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L955
.L957:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
.L955:
	mov	DWORD PTR -20[rbp], 1
	jmp	.L958
.L953:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L959
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L960
.L959:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
.L960:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L961
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L962
.L961:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 8[rax], rdx
.L962:
	mov	DWORD PTR -20[rbp], 0
.L958:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE143:
	.size	Jim_ReplaceHashEntry, .-Jim_ReplaceHashEntry
	.globl	Jim_DeleteHashEntry
	.type	Jim_DeleteHashEntry, @function
Jim_DeleteHashEntry:
.LFB144:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L965
	mov	eax, 1
	jmp	.L966
.L965:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	rdx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], 0
	jmp	.L967
.L975:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L968
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	r8, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	test	eax, eax
	setne	al
	jmp	.L969
.L968:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -48[rbp], rax
	sete	al
.L969:
	test	al, al
	je	.L970
	cmp	QWORD PTR -8[rbp], 0
	je	.L971
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L972
.L971:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR [rdx], rax
.L972:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L973
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L973:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L974
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L974:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	eax, 0
	jmp	.L966
.L970:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
.L967:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L975
	mov	eax, 1
.L966:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE144:
	.size	Jim_DeleteHashEntry, .-Jim_DeleteHashEntry
	.globl	Jim_FreeHashTable
	.type	Jim_FreeHashTable, @function
Jim_FreeHashTable:
.LFB145:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -20[rbp], 0
	jmp	.L977
.L984:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L986
	jmp	.L980
.L983:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L981
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L981:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L982
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L982:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
.L980:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L983
	jmp	.L979
.L986:
	nop
.L979:
	add	DWORD PTR -20[rbp], 1
.L977:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L984
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	JimResetHashTable
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE145:
	.size	Jim_FreeHashTable, .-Jim_FreeHashTable
	.globl	Jim_FindHashEntry
	.type	Jim_FindHashEntry, @function
Jim_FindHashEntry:
.LFB146:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L988
	mov	eax, 0
	jmp	.L989
.L988:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	rdx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L990
.L994:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L991
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	r8, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	test	eax, eax
	setne	al
	jmp	.L992
.L991:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	sete	al
.L992:
	test	al, al
	je	.L993
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L989
.L993:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L990:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L994
	mov	eax, 0
.L989:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE146:
	.size	Jim_FindHashEntry, .-Jim_FindHashEntry
	.globl	Jim_GetHashTableIterator
	.type	Jim_GetHashTableIterator, @function
Jim_GetHashTableIterator:
.LFB147:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	edi, 32
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimInitHashTableIterator
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE147:
	.size	Jim_GetHashTableIterator, .-Jim_GetHashTableIterator
	.globl	Jim_NextHashEntry
	.type	Jim_NextHashEntry, @function
Jim_NextHashEntry:
.LFB148:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
.L1004:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L998
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jge	.L1006
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1001
.L998:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L1001:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1004
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L1003
.L1006:
	nop
	mov	eax, 0
.L1003:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE148:
	.size	Jim_NextHashEntry, .-Jim_NextHashEntry
	.type	JimExpandHashTableIfNeeded, @function
JimExpandHashTableIfNeeded:
.LFB149:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1008
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 16
	mov	rdi, rax
	call	Jim_ExpandHashTable
.L1008:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L1010
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_ExpandHashTable
.L1010:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE149:
	.size	JimExpandHashTableIfNeeded, .-JimExpandHashTableIfNeeded
	.type	JimHashTableNextPower, @function
JimHashTableNextPower:
.LFB150:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -4[rbp], 16
	mov	eax, DWORD PTR -20[rbp]
	test	eax, eax
	jns	.L1012
	mov	eax, -2147483648
	jmp	.L1013
.L1012:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jb	.L1014
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L1013
.L1014:
	sal	DWORD PTR -4[rbp]
	jmp	.L1012
.L1013:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE150:
	.size	JimHashTableNextPower, .-JimHashTableNextPower
	.type	JimInsertHashEntry, @function
JimInsertHashEntry:
.LFB151:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimExpandHashTableIfNeeded
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	rdx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 40[rax]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 28[rax]
	and	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L1016
.L1023:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1017
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	r8, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	test	eax, eax
	setne	al
	jmp	.L1018
.L1017:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	sete	al
.L1018:
	test	al, al
	je	.L1019
	cmp	DWORD PTR -36[rbp], 0
	je	.L1020
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L1022
.L1020:
	mov	eax, 0
	jmp	.L1022
.L1019:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
.L1016:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1023
	mov	edi, 24
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
.L1022:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE151:
	.size	JimInsertHashEntry, .-JimInsertHashEntry
	.type	JimStringCopyHTHashFunction, @function
JimStringCopyHTHashFunction:
.LFB152:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_GenHashFunction
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE152:
	.size	JimStringCopyHTHashFunction, .-JimStringCopyHTHashFunction
	.type	JimStringCopyHTDup, @function
JimStringCopyHTDup:
.LFB153:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_StrDup
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE153:
	.size	JimStringCopyHTDup, .-JimStringCopyHTDup
	.type	JimStringCopyHTKeyCompare, @function
JimStringCopyHTKeyCompare:
.LFB154:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE154:
	.size	JimStringCopyHTKeyCompare, .-JimStringCopyHTKeyCompare
	.type	JimStringCopyHTKeyDestructor, @function
JimStringCopyHTKeyDestructor:
.LFB155:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE155:
	.size	JimStringCopyHTKeyDestructor, .-JimStringCopyHTKeyDestructor
	.section	.data.rel.ro.local
	.align 32
	.type	JimPackageHashTableType, @object
	.size	JimPackageHashTableType, 48
JimPackageHashTableType:
	.quad	JimStringCopyHTHashFunction
	.quad	JimStringCopyHTDup
	.quad	0
	.quad	JimStringCopyHTKeyCompare
	.quad	JimStringCopyHTKeyDestructor
	.quad	0
	.text
	.type	JimAssocDataHashTableValueDestructor, @function
JimAssocDataHashTableValueDestructor:
.LFB156:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1032
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1032:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE156:
	.size	JimAssocDataHashTableValueDestructor, .-JimAssocDataHashTableValueDestructor
	.section	.data.rel.ro.local
	.align 32
	.type	JimAssocDataHashTableType, @object
	.size	JimAssocDataHashTableType, 48
JimAssocDataHashTableType:
	.quad	JimStringCopyHTHashFunction
	.quad	JimStringCopyHTDup
	.quad	0
	.quad	JimStringCopyHTKeyCompare
	.quad	JimStringCopyHTKeyDestructor
	.quad	JimAssocDataHashTableValueDestructor
	.text
	.globl	Jim_InitStack
	.type	Jim_InitStack, @function
Jim_InitStack:
.LFB157:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 4[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE157:
	.size	Jim_InitStack, .-Jim_InitStack
	.globl	Jim_FreeStack
	.type	Jim_FreeStack, @function
Jim_FreeStack:
.LFB158:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE158:
	.size	Jim_FreeStack, .-Jim_FreeStack
	.globl	Jim_StackLen
	.type	Jim_StackLen, @function
Jim_StackLen:
.LFB159:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE159:
	.size	Jim_StackLen, .-Jim_StackLen
	.globl	Jim_StackPush
	.type	Jim_StackPush, @function
Jim_StackPush:
.LFB160:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cmp	DWORD PTR -4[rbp], eax
	jle	.L1038
	cmp	DWORD PTR -4[rbp], 19
	jle	.L1039
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, [rax+rax]
	jmp	.L1040
.L1039:
	mov	edx, 20
.L1040:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	cdqe
	sal	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx], rax
.L1038:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE160:
	.size	Jim_StackPush, .-Jim_StackPush
	.globl	Jim_StackPop
	.type	Jim_StackPop, @function
Jim_StackPop:
.LFB161:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1042
	mov	eax, 0
	jmp	.L1043
.L1042:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
.L1043:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE161:
	.size	Jim_StackPop, .-Jim_StackPop
	.globl	Jim_StackPeek
	.type	Jim_StackPeek, @function
Jim_StackPeek:
.LFB162:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1045
	mov	eax, 0
	jmp	.L1046
.L1045:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
.L1046:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE162:
	.size	Jim_StackPeek, .-Jim_StackPeek
	.globl	Jim_FreeStackElements
	.type	Jim_FreeStackElements, @function
Jim_FreeStackElements:
.LFB163:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1048
.L1049:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	rdx
	add	DWORD PTR -4[rbp], 1
.L1048:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L1049
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE163:
	.size	Jim_FreeStackElements, .-Jim_FreeStackElements
	.type	JimParserInit, @function
JimParserInit:
.LFB164:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	DWORD PTR -24[rbp], ecx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 32
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR 56[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE164:
	.size	JimParserInit, .-JimParserInit
	.type	JimParseScript, @function
JimParseScript:
.LFB165:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
.L1068:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1052
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 7
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 1
	mov	eax, 0
	jmp	.L1053
.L1052:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 92
	je	.L1054
	cmp	eax, 92
	jg	.L1055
	cmp	eax, 59
	jg	.L1056
	cmp	eax, 9
	jl	.L1055
	sub	eax, 9
	cmp	eax, 50
	ja	.L1055
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1058[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1058[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1058:
	.long	.L1061-.L1058
	.long	.L1057-.L1058
	.long	.L1055-.L1058
	.long	.L1061-.L1058
	.long	.L1061-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1061-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1060-.L1058
	.long	.L1059-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1055-.L1058
	.long	.L1057-.L1058
	.text
.L1056:
	cmp	eax, 91
	je	.L1062
	jmp	.L1055
.L1054:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1063
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jne	.L1063
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseSep
	jmp	.L1053
.L1063:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseStr
	jmp	.L1053
.L1061:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jne	.L1064
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseSep
	jmp	.L1053
.L1064:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseStr
	jmp	.L1053
.L1057:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jne	.L1065
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseEol
	jmp	.L1053
.L1065:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseStr
	jmp	.L1053
.L1062:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseCmd
	jmp	.L1053
.L1059:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseVar
	cmp	eax, 1
	jne	.L1066
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
.L1066:
	mov	eax, 0
	jmp	.L1053
.L1060:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	je	.L1067
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseComment
	jmp	.L1068
.L1067:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseStr
	jmp	.L1053
.L1055:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseStr
.L1053:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE165:
	.size	JimParseScript, .-JimParseScript
	.type	JimParseSep, @function
JimParseSep:
.LFB166:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	jmp	.L1070
.L1074:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L1076
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1073
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
.L1073:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1070:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1074
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1072
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L1074
	jmp	.L1072
.L1076:
	nop
.L1072:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 6
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE166:
	.size	JimParseSep, .-JimParseSep
	.type	JimParseEol, @function
JimParseEol:
.LFB167:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	jmp	.L1078
.L1080:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1079
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
.L1079:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1078:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1080
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 59
	je	.L1080
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 7
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE167:
	.size	JimParseEol, .-JimParseEol
	.type	JimParseSubBrace, @function
JimParseSubBrace:
.LFB168:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1083
.L1092:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 125
	je	.L1084
	cmp	eax, 125
	jg	.L1085
	cmp	eax, 123
	je	.L1086
	cmp	eax, 123
	jg	.L1085
	cmp	eax, 10
	je	.L1087
	cmp	eax, 92
	jne	.L1085
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L1093
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1089
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
.L1089:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1093
.L1086:
	add	DWORD PTR -4[rbp], 1
	jmp	.L1085
.L1084:
	sub	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -4[rbp], 0
	jne	.L1094
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1082
.L1087:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1085
.L1093:
	nop
	jmp	.L1085
.L1094:
	nop
.L1085:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
.L1083:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1092
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 52[rax], 123
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
.L1082:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE168:
	.size	JimParseSubBrace, .-JimParseSubBrace
	.type	JimParseSubQuote, @function
JimParseSubQuote:
.LFB169:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1096
.L1106:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 92
	je	.L1097
	cmp	eax, 92
	jg	.L1098
	cmp	eax, 91
	je	.L1099
	cmp	eax, 91
	jg	.L1098
	cmp	eax, 36
	je	.L1100
	cmp	eax, 36
	jg	.L1098
	cmp	eax, 10
	je	.L1101
	cmp	eax, 34
	je	.L1102
	jmp	.L1098
.L1097:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L1107
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1104
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
.L1104:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	DWORD PTR -8[rbp], 2
	jmp	.L1107
.L1102:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, DWORD PTR -8[rbp]
	jmp	.L1105
.L1099:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimParseSubCmd
	mov	DWORD PTR -8[rbp], 2
	jmp	.L1096
.L1101:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1098
.L1100:
	mov	DWORD PTR -8[rbp], 2
	jmp	.L1098
.L1107:
	nop
.L1098:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
.L1096:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1106
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 52[rax], 34
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, DWORD PTR -8[rbp]
.L1105:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE169:
	.size	JimParseSubQuote, .-JimParseSubQuote
	.type	JimParseSubCmd, @function
JimParseSubCmd:
.LFB170:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -12[rbp], 1
	mov	DWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1109
.L1122:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 123
	je	.L1110
	cmp	eax, 123
	jg	.L1111
	cmp	eax, 93
	je	.L1112
	cmp	eax, 93
	jg	.L1111
	cmp	eax, 92
	je	.L1113
	cmp	eax, 92
	jg	.L1111
	cmp	eax, 91
	je	.L1114
	cmp	eax, 91
	jg	.L1111
	cmp	eax, 10
	je	.L1115
	cmp	eax, 34
	je	.L1116
	jmp	.L1111
.L1113:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L1123
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1118
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
.L1118:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1123
.L1114:
	add	DWORD PTR -12[rbp], 1
	jmp	.L1111
.L1112:
	sub	DWORD PTR -12[rbp], 1
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1124
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1108
.L1116:
	cmp	DWORD PTR -8[rbp], 0
	je	.L1125
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimParseSubQuote
	jmp	.L1109
.L1110:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimParseSubBrace
	mov	DWORD PTR -8[rbp], 0
	jmp	.L1109
.L1115:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1111
.L1123:
	nop
	jmp	.L1111
.L1124:
	nop
	jmp	.L1111
.L1125:
	nop
.L1111:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	mov	DWORD PTR -8[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
.L1109:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1122
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 52[rax], 91
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
.L1108:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE170:
	.size	JimParseSubCmd, .-JimParseSubCmd
	.type	JimParseBrace, @function
JimParseBrace:
.LFB171:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseSubBrace
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE171:
	.size	JimParseBrace, .-JimParseBrace
	.type	JimParseCmd, @function
JimParseCmd:
.LFB172:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 5
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseSubCmd
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE172:
	.size	JimParseCmd, .-JimParseCmd
	.type	JimParseQuote, @function
JimParseQuote:
.LFB173:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseSubQuote
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rdx], eax
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE173:
	.size	JimParseQuote, .-JimParseQuote
	.type	JimParseVar, @function
JimParseVar:
.LFB174:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 3
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L1133
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1134
.L1137:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1135
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
.L1135:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
.L1134:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1136
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L1137
.L1136:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1138
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1138
.L1133:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1139
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1139
	jmp	.L1140
.L1141:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
.L1140:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1141
	jmp	.L1142
.L1139:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L1143
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	je	.L1143
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jns	.L1156
.L1143:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	nop
.L1142:
	jmp	.L1133
.L1156:
	nop
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L1146
	mov	DWORD PTR -12[rbp], 1
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 4
	jmp	.L1147
.L1151:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1148
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jle	.L1148
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1147
.L1148:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L1149
	add	DWORD PTR -12[rbp], 1
	jmp	.L1147
.L1149:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L1147
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	sub	DWORD PTR -12[rbp], 1
.L1147:
	cmp	DWORD PTR -12[rbp], 0
	je	.L1150
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1151
.L1150:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1152
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1153
.L1152:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1153
	add	QWORD PTR -8[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	sub	rax, QWORD PTR -8[rbp]
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L1153:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	jne	.L1146
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 16
.L1146:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
.L1138:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L1154
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 1
	jmp	.L1155
.L1154:
	mov	eax, 0
.L1155:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE174:
	.size	JimParseVar, .-JimParseVar
	.type	JimParseStr, @function
JimParseStr:
.LFB175:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 6
	je	.L1158
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 7
	je	.L1158
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	test	eax, eax
	je	.L1158
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 1
	jne	.L1159
.L1158:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L1160
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseBrace
	jmp	.L1161
.L1160:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	jne	.L1159
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 56[rax], edx
.L1159:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
.L1182:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1162
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	je	.L1163
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 34
.L1163:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	eax, 0
	jmp	.L1161
.L1162:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 9
	cmp	eax, 83
	ja	.L1164
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1166[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1166[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1166:
	.long	.L1168-.L1166
	.long	.L1168-.L1166
	.long	.L1164-.L1166
	.long	.L1168-.L1166
	.long	.L1168-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1168-.L1166
	.long	.L1164-.L1166
	.long	.L1171-.L1166
	.long	.L1164-.L1166
	.long	.L1167-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1170-.L1166
	.long	.L1169-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1168-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1164-.L1166
	.long	.L1167-.L1166
	.long	.L1165-.L1166
	.text
.L1165:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jne	.L1172
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1172
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	eax, 0
	jmp	.L1161
.L1172:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L1173
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1174
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
.L1174:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1183
.L1173:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jne	.L1183
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 92
	jmp	.L1183
.L1170:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L1169
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L1184
.L1169:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	je	.L1176
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 3
	jne	.L1185
.L1176:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jne	.L1178
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1178:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	eax, 0
	jmp	.L1161
.L1167:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	eax, 0
	jmp	.L1161
.L1168:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jne	.L1179
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	eax, 0
	jmp	.L1161
.L1179:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1186
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1186
.L1171:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	je	.L1187
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 44[rax], 0
	mov	eax, 0
	jmp	.L1161
.L1183:
	nop
	jmp	.L1164
.L1184:
	nop
	jmp	.L1164
.L1185:
	nop
	jmp	.L1164
.L1186:
	nop
	jmp	.L1164
.L1187:
	nop
.L1164:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L1182
.L1161:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE175:
	.size	JimParseStr, .-JimParseStr
	.type	JimParseComment, @function
JimParseComment:
.LFB176:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L1189
.L1195:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1190
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1191
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], 92
	mov	eax, 0
	jmp	.L1192
.L1191:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1193
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1193
.L1190:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1193
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1194
.L1193:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1189:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1195
.L1194:
	mov	eax, 0
.L1192:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE176:
	.size	JimParseComment, .-JimParseComment
	.type	xdigitval, @function
xdigitval:
.LFB177:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jle	.L1197
	cmp	DWORD PTR -4[rbp], 57
	jg	.L1197
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 48
	jmp	.L1198
.L1197:
	cmp	DWORD PTR -4[rbp], 96
	jle	.L1199
	cmp	DWORD PTR -4[rbp], 102
	jg	.L1199
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 87
	jmp	.L1198
.L1199:
	cmp	DWORD PTR -4[rbp], 64
	jle	.L1200
	cmp	DWORD PTR -4[rbp], 70
	jg	.L1200
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 55
	jmp	.L1198
.L1200:
	mov	eax, -1
.L1198:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE177:
	.size	xdigitval, .-xdigitval
	.type	odigitval, @function
odigitval:
.LFB178:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jle	.L1202
	cmp	DWORD PTR -4[rbp], 55
	jg	.L1202
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 48
	jmp	.L1203
.L1202:
	mov	eax, -1
.L1203:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE178:
	.size	odigitval, .-odigitval
	.type	JimEscape, @function
JimEscape:
.LFB179:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L1205
.L1239:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 92
	jne	.L1206
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 120
	jg	.L1207
	cmp	eax, 48
	jge	.L1208
	test	eax, eax
	je	.L1209
	cmp	eax, 10
	je	.L1210
	jmp	.L1207
.L1208:
	sub	eax, 48
	cmp	eax, 72
	ja	.L1207
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1212[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1212[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1212:
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1220-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1211-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1219-.L1212
	.long	.L1218-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1217-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1216-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1207-.L1212
	.long	.L1215-.L1212
	.long	.L1207-.L1212
	.long	.L1214-.L1212
	.long	.L1211-.L1212
	.long	.L1213-.L1212
	.long	.L1207-.L1212
	.long	.L1211-.L1212
	.text
.L1219:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 7
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1218:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 8
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1217:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 12
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1216:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 10
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1215:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 13
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1214:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 9
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1211:
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -28[rbp], 2
	add	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 85
	jne	.L1222
	mov	DWORD PTR -28[rbp], 8
	jmp	.L1223
.L1222:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 117
	jne	.L1223
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L1224
	mov	DWORD PTR -28[rbp], 6
	add	DWORD PTR -40[rbp], 1
	jmp	.L1223
.L1224:
	mov	DWORD PTR -28[rbp], 4
.L1223:
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1225
.L1228:
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	xdigitval
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], -1
	je	.L1241
	mov	eax, DWORD PTR -36[rbp]
	sal	eax, 4
	mov	edx, eax
	mov	eax, DWORD PTR -20[rbp]
	or	eax, edx
	mov	DWORD PTR -36[rbp], eax
	add	DWORD PTR -32[rbp], 1
.L1225:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L1228
	jmp	.L1227
.L1241:
	nop
.L1227:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L1229
	cmp	DWORD PTR -32[rbp], 0
	je	.L1230
	cmp	DWORD PTR -36[rbp], 2097151
	ja	.L1230
	mov	edx, DWORD PTR -40[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	je	.L1231
.L1230:
	sub	DWORD PTR -40[rbp], 1
	mov	DWORD PTR -32[rbp], 0
	jmp	.L1229
.L1231:
	add	DWORD PTR -32[rbp], 1
.L1229:
	cmp	DWORD PTR -32[rbp], 0
	je	.L1232
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 120
	jne	.L1233
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -36[rbp]
	mov	BYTE PTR [rax], dl
	jmp	.L1234
.L1233:
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	utf8_fromunicode
	cdqe
	add	QWORD PTR -8[rbp], rax
.L1234:
	mov	eax, DWORD PTR -32[rbp]
	add	DWORD PTR -40[rbp], eax
	jmp	.L1221
.L1232:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	edx, BYTE PTR [rcx]
	mov	BYTE PTR [rax], dl
	jmp	.L1221
.L1213:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 11
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1209:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1210:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 32
.L1235:
	add	DWORD PTR -40[rbp], 1
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L1235
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 9
	je	.L1235
	jmp	.L1221
.L1220:
	mov	DWORD PTR -16[rbp], 0
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	odigitval
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 2[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	odigitval
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L1236
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -40[rbp], 1
	jmp	.L1221
.L1236:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	odigitval
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], -1
	jne	.L1237
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -40[rbp], 2
	jmp	.L1221
.L1237:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 0[0+rax*8]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -16[rbp]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -40[rbp], 3
	jmp	.L1221
.L1207:
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	edx, BYTE PTR [rcx]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -40[rbp], 1
	nop
.L1221:
	jmp	.L1238
.L1206:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	edx, BYTE PTR [rcx]
	mov	BYTE PTR [rax], dl
	nop
.L1238:
	add	DWORD PTR -40[rbp], 1
.L1205:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L1239
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE179:
	.size	JimEscape, .-JimEscape
	.type	JimParserGetTokenObj, @function
JimParserGetTokenObj:
.LFB180:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jbe	.L1243
	mov	DWORD PTR -28[rbp], 0
	mov	edi, 1
	call	Jim_Alloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	jmp	.L1244
.L1243:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -16[rbp]
	add	eax, 1
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 2
	je	.L1245
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	jmp	.L1244
.L1245:
	mov	edx, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimEscape
	mov	DWORD PTR -28[rbp], eax
.L1244:
	mov	edx, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE180:
	.size	JimParserGetTokenObj, .-JimParserGetTokenObj
	.type	JimParseList, @function
JimParseList:
.LFB181:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L1248
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseListSep
	jmp	.L1249
.L1248:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 34
	je	.L1250
	cmp	eax, 123
	je	.L1251
	jmp	.L1255
.L1250:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseListQuote
	jmp	.L1249
.L1251:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseBrace
	jmp	.L1249
.L1255:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	je	.L1256
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseListStr
	jmp	.L1249
.L1256:
	nop
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 7
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 1
	mov	eax, 0
.L1249:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE181:
	.size	JimParseList, .-JimParseList
	.type	JimParseListSep, @function
JimParseListSep:
.LFB182:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	jmp	.L1258
.L1260:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L1259
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
.L1259:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1258:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L1260
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 6
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE182:
	.size	JimParseListSep, .-JimParseListSep
	.type	JimParseListQuote, @function
JimParseListQuote:
.LFB183:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 1
	jmp	.L1263
.L1270:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 92
	je	.L1264
	cmp	eax, 92
	jg	.L1265
	cmp	eax, 10
	je	.L1266
	cmp	eax, 34
	je	.L1267
	jmp	.L1265
.L1264:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1268
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
	jmp	.L1269
.L1268:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1265
.L1266:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L1265
.L1267:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 0
	jmp	.L1269
.L1265:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1263:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1270
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
.L1269:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE183:
	.size	JimParseListQuote, .-JimParseListQuote
	.type	JimParseListStr, @function
JimParseListStr:
.LFB184:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 1
	jmp	.L1272
.L1277:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L1273
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
	jmp	.L1274
.L1273:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L1275
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1276
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
	jmp	.L1274
.L1276:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 2
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L1275:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L1272:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L1277
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
.L1274:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE184:
	.size	JimParseListStr, .-JimParseListStr
	.globl	Jim_NewObj
	.type	Jim_NewObj, @function
Jim_NewObj:
.LFB185:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	je	.L1279
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 184[rax], rdx
	jmp	.L1280
.L1279:
	mov	edi, 64
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
.L1280:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 176[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	test	rax, rax
	je	.L1281
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 176[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
.L1281:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 176[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE185:
	.size	Jim_NewObj, .-Jim_NewObj
	.globl	Jim_FreeObj
	.type	Jim_FreeObj, @function
Jim_FreeObj:
.LFB186:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1284
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1284
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1284:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1285
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, JimEmptyStringRep[rip]
	cmp	rax, rdx
	je	.L1285
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
.L1285:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L1286
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rdx]
	mov	QWORD PTR 56[rax], rdx
.L1286:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L1287
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 48[rdx]
	mov	QWORD PTR 48[rax], rdx
.L1287:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 176[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L1288
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 176[rax], rdx
.L1288:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 184[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	je	.L1289
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 48[rax], rdx
.L1289:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 184[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], -1
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE186:
	.size	Jim_FreeObj, .-Jim_FreeObj
	.globl	Jim_InvalidateStringRep
	.type	Jim_InvalidateStringRep, @function
Jim_InvalidateStringRep:
.LFB187:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L1291
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, JimEmptyStringRep[rip]
	cmp	rax, rdx
	je	.L1291
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
.L1291:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE187:
	.size	Jim_InvalidateStringRep, .-Jim_InvalidateStringRep
	.globl	Jim_DuplicateObj
	.type	Jim_DuplicateObj, @function
Jim_DuplicateObj:
.LFB188:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1293
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	jmp	.L1294
.L1293:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	jne	.L1295
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, JimEmptyStringRep[rip]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L1296
.L1295:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 20[rax]
	add	eax, 1
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
.L1294:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1297
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L1298
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rsi]
	mov	rdx, QWORD PTR 32[rsi]
	mov	QWORD PTR 24[rcx], rax
	mov	QWORD PTR 32[rcx], rdx
	mov	rax, QWORD PTR 40[rsi]
	mov	QWORD PTR 40[rcx], rax
	jmp	.L1297
.L1298:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	r8, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
.L1297:
	mov	rax, QWORD PTR -8[rbp]
.L1296:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE188:
	.size	Jim_DuplicateObj, .-Jim_DuplicateObj
	.globl	Jim_GetString
	.type	Jim_GetString, @function
Jim_GetString:
.LFB189:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1300
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
.L1300:
	cmp	QWORD PTR -16[rbp], 0
	je	.L1301
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
.L1301:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE189:
	.size	Jim_GetString, .-Jim_GetString
	.globl	Jim_Length
	.type	Jim_Length, @function
Jim_Length:
.LFB190:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1304
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
.L1304:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 20[rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE190:
	.size	Jim_Length, .-Jim_Length
	.globl	Jim_String
	.type	Jim_String, @function
Jim_String:
.LFB191:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1307
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	rdx
.L1307:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE191:
	.size	Jim_String, .-Jim_String
	.type	JimSetStringBytes, @function
JimSetStringBytes:
.LFB192:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_StrDup
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE192:
	.size	JimSetStringBytes, .-JimSetStringBytes
	.section	.rodata
.LC189:
	.string	"dict-substitution"
	.section	.data.rel.ro.local
	.align 32
	.type	dictSubstObjType, @object
	.size	dictSubstObjType, 40
dictSubstObjType:
	.quad	.LC189
	.quad	FreeDictSubstInternalRep
	.quad	DupDictSubstInternalRep
	.quad	0
	.long	0
	.zero	4
	.text
	.type	FreeInterpolatedInternalRep, @function
FreeInterpolatedInternalRep:
.LFB193:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1312
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1312:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE193:
	.size	FreeInterpolatedInternalRep, .-FreeInterpolatedInternalRep
	.section	.rodata
.LC190:
	.string	"interpolated"
	.section	.data.rel.ro.local
	.align 32
	.type	interpolatedObjType, @object
	.size	interpolatedObjType, 40
interpolatedObjType:
	.quad	.LC190
	.quad	FreeInterpolatedInternalRep
	.quad	0
	.quad	0
	.long	0
	.zero	4
	.section	.rodata
.LC191:
	.string	"string"
	.section	.data.rel.ro.local
	.align 32
	.type	stringObjType, @object
	.size	stringObjType, 40
stringObjType:
	.quad	.LC191
	.quad	0
	.quad	DupStringInternalRep
	.quad	0
	.long	1
	.zero	4
	.text
	.type	DupStringInternalRep, @function
DupStringInternalRep:
.LFB194:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 28[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 28[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE194:
	.size	DupStringInternalRep, .-DupStringInternalRep
	.type	SetStringFromAny, @function
SetStringFromAny:
.LFB195:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, stringObjType[rip]
	cmp	rax, rdx
	je	.L1315
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L1316
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	rdx
.L1316:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1317
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1317
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1317:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, stringObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 28[rax], -1
.L1315:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE195:
	.size	SetStringFromAny, .-SetStringFromAny
	.globl	Jim_Utf8Length
	.type	Jim_Utf8Length, @function
Jim_Utf8Length:
.LFB196:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Length
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE196:
	.size	Jim_Utf8Length, .-Jim_Utf8Length
	.globl	Jim_NewStringObj
	.type	Jim_NewStringObj, @function
Jim_NewStringObj:
.LFB197:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -36[rbp], -1
	jne	.L1322
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -36[rbp], eax
.L1322:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L1323
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, JimEmptyStringRep[rip]
	mov	QWORD PTR [rax], rdx
	jmp	.L1324
.L1323:
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L1324:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE197:
	.size	Jim_NewStringObj, .-Jim_NewStringObj
	.globl	Jim_NewStringObjUtf8
	.type	Jim_NewStringObjUtf8, @function
Jim_NewStringObjUtf8:
.LFB198:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE198:
	.size	Jim_NewStringObjUtf8, .-Jim_NewStringObjUtf8
	.globl	Jim_NewStringObjNoAlloc
	.type	Jim_NewStringObjNoAlloc, @function
Jim_NewStringObjNoAlloc:
.LFB199:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	cmp	DWORD PTR -36[rbp], -1
	jne	.L1329
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	strlen@PLT
	jmp	.L1330
.L1329:
	mov	eax, DWORD PTR -36[rbp]
.L1330:
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 20[rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE199:
	.size	Jim_NewStringObjNoAlloc, .-Jim_NewStringObjNoAlloc
	.type	StringAppendString, @function
StringAppendString:
.LFB200:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	cmp	DWORD PTR -52[rbp], -1
	jne	.L1333
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -52[rbp], eax
.L1333:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L1334
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1335
.L1334:
	sal	DWORD PTR -20[rbp]
	cmp	DWORD PTR -20[rbp], 6
	jg	.L1336
	mov	DWORD PTR -20[rbp], 7
.L1336:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, JimEmptyStringRep[rip]
	cmp	rax, rdx
	jne	.L1337
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L1338
.L1337:
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
.L1338:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 24[rax], edx
.L1335:
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cdqe
	add	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 20[rax]
	mov	eax, DWORD PTR -52[rbp]
	add	eax, ecx
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	test	eax, eax
	js	.L1339
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	ebx, eax
	cmp	DWORD PTR -52[rbp], 0
	jns	.L1340
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cdqe
	add	rax, rdx
	mov	rdi, rax
	call	strlen@PLT
	jmp	.L1341
.L1340:
	mov	eax, DWORD PTR -52[rbp]
.L1341:
	add	eax, ebx
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 28[rax], edx
.L1339:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 20[rax]
	mov	eax, DWORD PTR -52[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 20[rax], edx
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE200:
	.size	StringAppendString, .-StringAppendString
	.globl	Jim_AppendString
	.type	Jim_AppendString, @function
Jim_AppendString:
.LFB201:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetStringFromAny
	mov	edx, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	StringAppendString
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE201:
	.size	Jim_AppendString, .-Jim_AppendString
	.globl	Jim_AppendObj
	.type	Jim_AppendObj, @function
Jim_AppendObj:
.LFB202:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	ecx, DWORD PTR -20[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1344
	call	__stack_chk_fail@PLT
.L1344:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE202:
	.size	Jim_AppendObj, .-Jim_AppendObj
	.globl	Jim_AppendStrings
	.type	Jim_AppendStrings, @function
Jim_AppendStrings:
.LFB203:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	QWORD PTR -232[rbp], rdi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L1346
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L1346:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetStringFromAny
	mov	DWORD PTR -208[rbp], 16
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
.L1351:
	mov	eax, DWORD PTR -208[rbp]
	cmp	eax, 47
	ja	.L1347
	mov	rax, QWORD PTR -192[rbp]
	mov	edx, DWORD PTR -208[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -208[rbp]
	add	edx, 8
	mov	DWORD PTR -208[rbp], edx
	jmp	.L1348
.L1347:
	mov	rax, QWORD PTR -200[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -200[rbp], rdx
.L1348:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -216[rbp], rax
	cmp	QWORD PTR -216[rbp], 0
	je	.L1354
	mov	rdx, QWORD PTR -216[rbp]
	mov	rsi, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -232[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L1351
.L1354:
	nop
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1352
	call	__stack_chk_fail@PLT
.L1352:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE203:
	.size	Jim_AppendStrings, .-Jim_AppendStrings
	.globl	Jim_StringEqObj
	.type	Jim_StringEqObj, @function
Jim_StringEqObj:
.LFB204:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jne	.L1356
	mov	eax, 1
	jmp	.L1357
.L1356:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	cmp	edx, eax
	jne	.L1358
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L1358
	mov	eax, 1
	jmp	.L1357
.L1358:
	mov	eax, 0
.L1357:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1360
	call	__stack_chk_fail@PLT
.L1360:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE204:
	.size	Jim_StringEqObj, .-Jim_StringEqObj
	.globl	Jim_StringMatchObj
	.type	Jim_StringMatchObj, @function
Jim_StringMatchObj:
.LFB205:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rbx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rcx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	edx, eax
	mov	rsi, rbx
	mov	rdi, rcx
	call	JimGlobMatch
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE205:
	.size	Jim_StringMatchObj, .-Jim_StringMatchObj
	.globl	Jim_StringCompareObj
	.type	Jim_StringCompareObj, @function
Jim_StringCompareObj:
.LFB206:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -60[rbp], 0
	je	.L1364
	mov	edx, DWORD PTR -60[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	mov	edx, -1
	mov	rdi, rax
	call	JimStringCompareLen
	jmp	.L1366
.L1364:
	mov	ecx, DWORD PTR -28[rbp]
	mov	esi, DWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimStringCompare
.L1366:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1367
	call	__stack_chk_fail@PLT
.L1367:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE206:
	.size	Jim_StringCompareObj, .-Jim_StringCompareObj
	.globl	Jim_StringCompareLenObj
	.type	Jim_StringCompareLenObj, @function
Jim_StringCompareLenObj:
.LFB207:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	edi, eax
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	ecx, edx
	mov	edx, edi
	mov	rdi, rax
	call	JimStringCompareLen
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE207:
	.size	Jim_StringCompareLenObj, .-Jim_StringCompareLenObj
	.type	JimRelToAbsIndex, @function
JimRelToAbsIndex:
.LFB208:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	cmp	DWORD PTR -8[rbp], 0
	jns	.L1371
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -8[rbp]
	add	eax, edx
	jmp	.L1372
.L1371:
	mov	eax, DWORD PTR -8[rbp]
.L1372:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE208:
	.size	JimRelToAbsIndex, .-JimRelToAbsIndex
	.type	JimRelToAbsRange, @function
JimRelToAbsRange:
.LFB209:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L1374
	mov	DWORD PTR -4[rbp], 0
	jmp	.L1375
.L1374:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	eax, edx
	sub	eax, ecx
	add	eax, 1
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L1375
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jns	.L1376
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	add	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 0
.L1376:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -20[rbp], eax
	jg	.L1375
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	sub	edx, 1
	sub	eax, edx
	sub	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L1375:
	cmp	DWORD PTR -4[rbp], 0
	jns	.L1377
	mov	DWORD PTR -4[rbp], 0
.L1377:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -4[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE209:
	.size	JimRelToAbsRange, .-JimRelToAbsRange
	.type	JimStringGetRange, @function
JimStringGetRange:
.LFB210:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	QWORD PTR -40[rbp], r8
	mov	QWORD PTR -48[rbp], r9
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L1379
	mov	eax, 1
	jmp	.L1380
.L1379:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L1381
	mov	eax, 1
	jmp	.L1380
.L1381:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	rdx, QWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR 16[rbp]
	mov	edi, eax
	call	JimRelToAbsRange
	mov	eax, 0
.L1380:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE210:
	.size	JimStringGetRange, .-JimStringGetRange
	.globl	Jim_StringByteRangeObj
	.type	Jim_StringByteRangeObj, @function
Jim_StringByteRangeObj:
.LFB211:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	ecx, DWORD PTR -20[rbp]
	lea	r9, -28[rbp]
	lea	r8, -32[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	sub	rsp, 8
	lea	rdi, -24[rbp]
	push	rdi
	mov	rdi, rax
	call	JimStringGetRange
	add	rsp, 16
	test	eax, eax
	je	.L1383
	mov	eax, 0
	jmp	.L1386
.L1383:
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	jne	.L1385
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	cmp	edx, eax
	jne	.L1385
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L1386
.L1385:
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
.L1386:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1387
	call	__stack_chk_fail@PLT
.L1387:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE211:
	.size	Jim_StringByteRangeObj, .-Jim_StringByteRangeObj
	.globl	Jim_StringRangeObj
	.type	Jim_StringRangeObj, @function
Jim_StringRangeObj:
.LFB212:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_StringByteRangeObj
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE212:
	.size	Jim_StringRangeObj, .-Jim_StringRangeObj
	.globl	JimStringReplaceObj
	.type	JimStringReplaceObj, @function
JimStringReplaceObj:
.LFB213:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	QWORD PTR -88[rbp], r8
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -28[rbp], eax
	lea	r9, -36[rbp]
	lea	r8, -40[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rsi, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	sub	rsp, 8
	lea	rdi, -32[rbp]
	push	rdi
	mov	rdi, rax
	call	JimStringGetRange
	add	rsp, 16
	test	eax, eax
	je	.L1391
	mov	eax, 0
	jmp	.L1395
.L1391:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -40[rbp]
	cmp	edx, eax
	jge	.L1393
	mov	rax, QWORD PTR -64[rbp]
	jmp	.L1395
.L1393:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	edx, DWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjUtf8
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	je	.L1394
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
.L1394:
	mov	edx, DWORD PTR -36[rbp]
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, edx
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	mov	rax, QWORD PTR -16[rbp]
.L1395:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1396
	call	__stack_chk_fail@PLT
.L1396:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE213:
	.size	JimStringReplaceObj, .-JimStringReplaceObj
	.type	JimStrCopyUpperLower, @function
JimStrCopyUpperLower:
.LFB214:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L1398
.L1401:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -32[rbp], rax
	cmp	DWORD PTR -36[rbp], 0
	je	.L1399
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	toupper@PLT
	mov	edx, eax
	jmp	.L1400
.L1399:
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	tolower@PLT
	mov	edx, eax
.L1400:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, 1
	cdqe
	add	QWORD PTR -24[rbp], rax
.L1398:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1401
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1402
	call	__stack_chk_fail@PLT
.L1402:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE214:
	.size	JimStrCopyUpperLower, .-JimStrCopyUpperLower
	.type	JimStringToLower, @function
JimStringToLower:
.LFB215:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetStringFromAny
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStrCopyUpperLower
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1405
	call	__stack_chk_fail@PLT
.L1405:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE215:
	.size	JimStringToLower, .-JimStringToLower
	.type	JimStringToUpper, @function
JimStringToUpper:
.LFB216:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, stringObjType[rip]
	cmp	rax, rdx
	je	.L1407
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetStringFromAny
.L1407:
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStrCopyUpperLower
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1409
	call	__stack_chk_fail@PLT
.L1409:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE216:
	.size	JimStringToUpper, .-JimStringToUpper
	.type	JimStringToTitle, @function
JimStringToTitle:
.LFB217:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	test	eax, eax
	jne	.L1411
	mov	rax, QWORD PTR -64[rbp]
	jmp	.L1413
.L1411:
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -36[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	mov	edi, eax
	call	toupper@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, 1
	cdqe
	add	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStrCopyUpperLower
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
.L1413:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1414
	call	__stack_chk_fail@PLT
.L1414:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE217:
	.size	JimStringToTitle, .-JimStringToTitle
	.type	utf8_memchr, @function
utf8_memchr:
.LFB218:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	memchr@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE218:
	.size	utf8_memchr, .-utf8_memchr
	.type	JimFindTrimLeft, @function
JimFindTrimLeft:
.LFB219:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -32[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	jmp	.L1418
.L1421:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 1
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	utf8_memchr
	test	rax, rax
	je	.L1424
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -12[rbp]
	sub	DWORD PTR -28[rbp], eax
.L1418:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1421
	jmp	.L1420
.L1424:
	nop
.L1420:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1423
	call	__stack_chk_fail@PLT
.L1423:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE219:
	.size	JimFindTrimLeft, .-JimFindTrimLeft
	.type	JimFindTrimRight, @function
JimFindTrimRight:
.LFB220:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -32[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	jmp	.L1426
.L1429:
	mov	DWORD PTR -12[rbp], 1
	mov	eax, DWORD PTR -12[rbp]
	sub	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -12[rbp], 1
	mov	edx, DWORD PTR -16[rbp]
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	utf8_memchr
	test	rax, rax
	jne	.L1426
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	jmp	.L1428
.L1426:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1429
	mov	eax, 0
.L1428:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1430
	call	__stack_chk_fail@PLT
.L1430:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE220:
	.size	JimFindTrimRight, .-JimFindTrimRight
	.section	.rodata
	.type	default_trim_chars, @object
	.size	default_trim_chars, 5
default_trim_chars:
	.string	" \t\n\r"
	.data
	.align 4
	.type	default_trim_chars_len, @object
	.size	default_trim_chars_len, 4
default_trim_chars_len:
	.long	5
	.text
	.type	JimStringTrimLeft, @function
JimStringTrimLeft:
.LFB221:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
	lea	rax, default_trim_chars[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR default_trim_chars_len[rip]
	mov	DWORD PTR -36[rbp], eax
	cmp	QWORD PTR -72[rbp], 0
	je	.L1432
	lea	rdx, -36[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -32[rbp], rax
.L1432:
	mov	ecx, DWORD PTR -36[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimFindTrimLeft
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jne	.L1433
	mov	rax, QWORD PTR -64[rbp]
	jmp	.L1435
.L1433:
	mov	eax, DWORD PTR -40[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	edx, eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
.L1435:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L1436
	call	__stack_chk_fail@PLT
.L1436:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE221:
	.size	JimStringTrimLeft, .-JimStringTrimLeft
	.type	JimStringTrimRight, @function
JimStringTrimRight:
.LFB222:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, default_trim_chars[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR default_trim_chars_len[rip]
	mov	DWORD PTR -32[rbp], eax
	cmp	QWORD PTR -56[rbp], 0
	je	.L1438
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
.L1438:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetStringFromAny
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_Length
	mov	DWORD PTR -28[rbp], eax
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -28[rbp]
	mov	rdi, rax
	call	JimFindTrimRight
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1439
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	jmp	.L1444
.L1439:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, rdx
	cmp	QWORD PTR -16[rbp], rax
	jne	.L1441
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L1444
.L1441:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L1442
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -48[rbp], rax
	jmp	.L1443
.L1442:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 20[rax], edx
.L1443:
	mov	rax, QWORD PTR -48[rbp]
.L1444:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1445
	call	__stack_chk_fail@PLT
.L1445:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE222:
	.size	JimStringTrimRight, .-JimStringTrimRight
	.type	JimStringTrim, @function
JimStringTrim:
.LFB223:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStringTrimLeft
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStringTrimRight
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L1447
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L1447
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1447:
	mov	rax, QWORD PTR -32[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE223:
	.size	JimStringTrim, .-JimStringTrim
	.type	jim_isascii, @function
jim_isascii:
.LFB224:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	and	eax, -128
	test	eax, eax
	sete	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE224:
	.size	jim_isascii, .-jim_isascii
	.section	.rodata
.LC192:
	.string	"class"
	.text
	.type	JimStringIs, @function
JimStringIs:
.LFB225:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -124[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -64[rbp], 0
	lea	rdx, -84[rbp]
	mov	rsi, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r9d, 3
	lea	r8, .LC192[rip]
	mov	rcx, rdx
	lea	rdx, strclassnames.17[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L1452
	mov	eax, 1
	jmp	.L1482
.L1452:
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	test	eax, eax
	jne	.L1454
	cmp	DWORD PTR -124[rbp], 0
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1455
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1455:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L1482
.L1454:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, 13
	ja	.L1456
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L1458[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L1458[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L1458:
	.long	.L1471-.L1458
	.long	.L1470-.L1458
	.long	.L1469-.L1458
	.long	.L1468-.L1458
	.long	.L1467-.L1458
	.long	.L1466-.L1458
	.long	.L1465-.L1458
	.long	.L1464-.L1458
	.long	.L1463-.L1458
	.long	.L1462-.L1458
	.long	.L1461-.L1458
	.long	.L1460-.L1458
	.long	.L1459-.L1458
	.long	.L1457-.L1458
	.text
.L1471:
	lea	rdx, -72[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGetWideNoErr
	test	eax, eax
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1472
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1472:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L1482
.L1466:
	lea	rdx, -72[rbp]
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	jne	.L1473
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 34
	je	.L1473
	mov	eax, 1
	jmp	.L1474
.L1473:
	mov	eax, 0
.L1474:
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1475
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1475:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L1482
.L1470:
	mov	rax, QWORD PTR isalpha@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1469:
	mov	rax, QWORD PTR isalnum@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1468:
	lea	rax, jim_isascii[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1467:
	mov	rax, QWORD PTR isdigit@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1465:
	mov	rax, QWORD PTR islower@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1464:
	mov	rax, QWORD PTR isupper@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1463:
	mov	rax, QWORD PTR isspace@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1462:
	mov	rax, QWORD PTR isxdigit@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1461:
	mov	rax, QWORD PTR iscntrl@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1460:
	mov	rax, QWORD PTR isprint@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1459:
	mov	rax, QWORD PTR isgraph@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1457:
	mov	rax, QWORD PTR ispunct@GOTPCREL[rip]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1476
.L1456:
	mov	eax, 1
	jmp	.L1482
.L1476:
	mov	DWORD PTR -76[rbp], 0
	jmp	.L1477
.L1480:
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	rdx, QWORD PTR -64[rbp]
	mov	edi, eax
	call	rdx
	test	eax, eax
	jne	.L1478
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1479
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1479:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L1482
.L1478:
	add	DWORD PTR -76[rbp], 1
.L1477:
	mov	eax, DWORD PTR -80[rbp]
	cmp	DWORD PTR -76[rbp], eax
	jl	.L1480
	mov	rax, QWORD PTR -104[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1481
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1481:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L1482:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1483
	call	__stack_chk_fail@PLT
.L1483:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE225:
	.size	JimStringIs, .-JimStringIs
	.section	.rodata
.LC193:
	.string	"compared-string"
	.section	.data.rel.ro.local
	.align 32
	.type	comparedStringObjType, @object
	.size	comparedStringObjType, 40
comparedStringObjType:
	.quad	.LC193
	.quad	0
	.quad	0
	.quad	0
	.long	1
	.zero	4
	.text
	.globl	Jim_CompareStringImmediate
	.type	Jim_CompareStringImmediate, @function
Jim_CompareStringImmediate:
.LFB226:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, comparedStringObjType[rip]
	cmp	rax, rdx
	jne	.L1485
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L1485
	mov	eax, 1
	jmp	.L1486
.L1485:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L1487
	mov	eax, 0
	jmp	.L1486
.L1487:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, comparedStringObjType[rip]
	cmp	rax, rdx
	je	.L1488
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1489
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1489
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1489:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, comparedStringObjType[rip]
	mov	QWORD PTR 8[rax], rdx
.L1488:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 1
.L1486:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE226:
	.size	Jim_CompareStringImmediate, .-Jim_CompareStringImmediate
	.type	qsortCompareStringPointers, @function
qsortCompareStringPointers:
.LFB227:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE227:
	.size	qsortCompareStringPointers, .-qsortCompareStringPointers
	.section	.rodata
.LC194:
	.string	"source"
	.section	.data.rel.ro.local
	.align 32
	.type	sourceObjType, @object
	.size	sourceObjType, 40
sourceObjType:
	.quad	.LC194
	.quad	FreeSourceInternalRep
	.quad	DupSourceInternalRep
	.quad	0
	.long	1
	.zero	4
	.text
	.type	FreeSourceInternalRep, @function
FreeSourceInternalRep:
.LFB228:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1494
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1494:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE228:
	.size	FreeSourceInternalRep, .-FreeSourceInternalRep
	.type	DupSourceInternalRep, @function
DupSourceInternalRep:
.LFB229:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR 24[rcx], rax
	mov	QWORD PTR 32[rcx], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE229:
	.size	DupSourceInternalRep, .-DupSourceInternalRep
	.type	JimSetSourceInfo, @function
JimSetSourceInfo:
.LFB230:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, sourceObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE230:
	.size	JimSetSourceInfo, .-JimSetSourceInfo
	.section	.rodata
.LC195:
	.string	"scriptline"
	.section	.data.rel.ro.local
	.align 32
	.type	scriptLineObjType, @object
	.size	scriptLineObjType, 40
scriptLineObjType:
	.quad	.LC195
	.quad	0
	.quad	0
	.quad	0
	.long	0
	.zero	4
	.text
	.type	JimNewScriptLineObj, @function
JimNewScriptLineObj:
.LFB231:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, scriptLineObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE231:
	.size	JimNewScriptLineObj, .-JimNewScriptLineObj
	.section	.rodata
.LC196:
	.string	"script"
	.section	.data.rel.ro.local
	.align 32
	.type	scriptObjType, @object
	.size	scriptObjType, 40
scriptObjType:
	.quad	.LC196
	.quad	FreeScriptInternalRep
	.quad	DupScriptInternalRep
	.quad	0
	.long	1
	.zero	4
	.text
	.type	FreeScriptInternalRep, @function
FreeScriptInternalRep:
.LFB232:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L1506
	mov	DWORD PTR -12[rbp], 0
	jmp	.L1502
.L1504:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1503
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1503:
	add	DWORD PTR -12[rbp], 1
.L1502:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L1504
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1505
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1505:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	jmp	.L1499
.L1506:
	nop
.L1499:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE232:
	.size	FreeScriptInternalRep, .-FreeScriptInternalRep
	.type	DupScriptInternalRep, @function
DupScriptInternalRep:
.LFB233:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE233:
	.size	DupScriptInternalRep, .-DupScriptInternalRep
	.type	ScriptTokenListInit, @function
ScriptTokenListInit:
.LFB234:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 20
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE234:
	.size	ScriptTokenListInit, .-ScriptTokenListInit
	.type	ScriptTokenListFree, @function
ScriptTokenListFree:
.LFB235:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, 16
	cmp	rax, rdx
	je	.L1511
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
.L1511:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE235:
	.size	ScriptTokenListFree, .-ScriptTokenListFree
	.type	ScriptAddToken, @function
ScriptAddToken:
.LFB236:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	DWORD PTR -44[rbp], r8d
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jne	.L1513
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, 16
	cmp	rax, rdx
	je	.L1514
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L1513
.L1514:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	mov	edx, eax
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
.L1513:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rdx], ecx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rsi
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	DWORD PTR 16[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE236:
	.size	ScriptAddToken, .-ScriptAddToken
	.section	.rodata
.LC197:
	.string	"expand"
	.text
	.type	JimCountWordTokens, @function
JimCountWordTokens:
.LFB237:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -8[rbp], 1
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 1
	jne	.L1520
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 5
	jle	.L1517
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 8
	jle	.L1520
.L1517:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jne	.L1518
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L1519
.L1518:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 6
	jne	.L1520
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, 6
	lea	rsi, .LC197[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L1520
.L1519:
	mov	DWORD PTR -8[rbp], -1
	add	QWORD PTR -24[rbp], 24
	jmp	.L1520
.L1521:
	add	QWORD PTR -24[rbp], 24
	add	DWORD PTR -4[rbp], 1
.L1520:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 5
	jle	.L1521
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 8
	jg	.L1521
	mov	eax, DWORD PTR -4[rbp]
	imul	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE237:
	.size	JimCountWordTokens, .-JimCountWordTokens
	.type	JimMakeScriptObj, @function
JimMakeScriptObj:
.LFB238:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 2
	jne	.L1524
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, 92
	mov	rdi, rax
	call	memchr@PLT
	test	rax, rax
	je	.L1524
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimEscape
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1525
.L1524:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
.L1525:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE238:
	.size	JimMakeScriptObj, .-JimMakeScriptObj
	.type	ScriptObjAddTokens, @function
ScriptObjAddTokens:
.LFB239:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	DWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -36[rbp], eax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1528
.L1530:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 7
	jne	.L1529
	add	DWORD PTR -36[rbp], 1
.L1529:
	add	DWORD PTR -44[rbp], 1
.L1528:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L1530
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 28[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	eax, 4
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 16[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1531
.L1533:
	add	DWORD PTR -44[rbp], 1
.L1532:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 6
	je	.L1533
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	rdi, rax
	call	JimCountWordTokens
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1534
	cmp	DWORD PTR -40[rbp], 0
	je	.L1535
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], 9
	mov	edx, DWORD PTR -32[rbp]
	mov	ecx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimNewScriptLineObj
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	DWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 16[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -16[rbp], rax
.L1535:
	add	DWORD PTR -44[rbp], 1
	jmp	.L1531
.L1534:
	cmp	DWORD PTR -28[rbp], 1
	je	.L1536
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], 10
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	QWORD PTR -24[rbp], 16
	cmp	DWORD PTR -28[rbp], 0
	jns	.L1536
	add	DWORD PTR -44[rbp], 1
	not	DWORD PTR -28[rbp]
	sub	DWORD PTR -40[rbp], 1
.L1536:
	cmp	DWORD PTR -40[rbp], 0
	jne	.L1537
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR -32[rbp], eax
.L1537:
	add	DWORD PTR -40[rbp], 1
	jmp	.L1538
.L1539:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -44[rbp], edx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimMakeScriptObj
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	JimSetSourceInfo
	add	QWORD PTR -24[rbp], 16
.L1538:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -28[rbp], edx
	test	eax, eax
	jne	.L1539
.L1531:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L1532
	cmp	DWORD PTR -40[rbp], 0
	jne	.L1541
	sub	QWORD PTR -24[rbp], 16
.L1541:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, rdx
	sar	rax, 4
	mov	edx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE239:
	.size	ScriptObjAddTokens, .-ScriptObjAddTokens
	.globl	Jim_ScriptIsComplete
	.type	Jim_ScriptIsComplete, @function
Jim_ScriptIsComplete:
.LFB240:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetScript
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	je	.L1543
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], dl
.L1543:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 32
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE240:
	.size	Jim_ScriptIsComplete, .-Jim_ScriptIsComplete
	.section	.rodata
.LC198:
	.string	"unmatched \"[\""
.LC199:
	.string	"missing close-brace"
.LC200:
	.string	"missing quote"
	.text
	.type	JimParseCheckMissing, @function
JimParseCheckMissing:
.LFB241:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	DWORD PTR -28[rbp], 123
	je	.L1546
	cmp	DWORD PTR -28[rbp], 123
	jg	.L1547
	cmp	DWORD PTR -28[rbp], 92
	je	.L1548
	cmp	DWORD PTR -28[rbp], 92
	jg	.L1547
	cmp	DWORD PTR -28[rbp], 32
	je	.L1548
	cmp	DWORD PTR -28[rbp], 91
	je	.L1549
	jmp	.L1547
.L1548:
	mov	eax, 0
	jmp	.L1550
.L1549:
	lea	rax, .LC198[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1551
.L1546:
	lea	rax, .LC199[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1551
.L1547:
	lea	rax, .LC200[rip]
	mov	QWORD PTR -16[rbp], rax
	nop
.L1551:
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1552
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1552:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
.L1550:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE241:
	.size	JimParseCheckMissing, .-JimParseCheckMissing
	.type	SubstObjAddTokens, @function
SubstObjAddTokens:
.LFB242:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	cdqe
	sal	eax, 4
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L1554
.L1555:
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimMakeScriptObj
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	QWORD PTR -16[rbp], 16
	add	DWORD PTR -20[rbp], 1
.L1554:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L1555
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 16[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE242:
	.size	SubstObjAddTokens, .-SubstObjAddTokens
	.type	JimSetScriptFromAny, @function
JimSetScriptFromAny:
.LFB243:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 624
	mov	QWORD PTR -616[rbp], rdi
	mov	QWORD PTR -624[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -600[rbp]
	mov	rax, QWORD PTR -624[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -592[rbp], rax
	mov	DWORD PTR -596[rbp], 1
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, sourceObjType[rip]
	cmp	rax, rdx
	jne	.L1557
	mov	rax, QWORD PTR -624[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -596[rbp], eax
.L1557:
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListInit
	mov	edx, DWORD PTR -600[rbp]
	mov	ecx, DWORD PTR -596[rbp]
	mov	rsi, QWORD PTR -592[rbp]
	lea	rax, -576[rbp]
	mov	rdi, rax
	call	JimParserInit
	jmp	.L1558
.L1559:
	lea	rax, -576[rbp]
	mov	rdi, rax
	call	JimParseScript
	mov	ecx, DWORD PTR -544[rbp]
	mov	edx, DWORD PTR -540[rbp]
	mov	rax, QWORD PTR -552[rbp]
	mov	rsi, QWORD PTR -560[rbp]
	sub	rax, rsi
	add	eax, 1
	mov	edi, eax
	mov	rsi, QWORD PTR -560[rbp]
	lea	rax, -512[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, edi
	mov	rdi, rax
	call	ScriptAddToken
.L1558:
	mov	eax, DWORD PTR -536[rbp]
	test	eax, eax
	je	.L1559
	mov	eax, DWORD PTR -600[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -592[rbp]
	lea	rsi, [rdx+rax]
	lea	rax, -512[rbp]
	mov	r8d, 0
	mov	ecx, 8
	mov	edx, 0
	mov	rdi, rax
	call	ScriptAddToken
	mov	edi, 40
	call	Jim_Alloc
	mov	QWORD PTR -584[rbp], rax
	mov	rax, QWORD PTR -584[rbp]
	mov	edx, 40
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -584[rbp]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, sourceObjType[rip]
	cmp	rax, rdx
	jne	.L1560
	mov	rax, QWORD PTR -624[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -584[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1561
.L1560:
	mov	rax, QWORD PTR -616[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -584[rbp]
	mov	QWORD PTR 8[rax], rdx
.L1561:
	mov	rax, QWORD PTR -584[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	edx, DWORD PTR -524[rbp]
	mov	rax, QWORD PTR -584[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	edx, DWORD PTR -520[rbp]
	mov	rax, QWORD PTR -584[rbp]
	mov	DWORD PTR 32[rax], edx
	lea	rdx, -512[rbp]
	mov	rcx, QWORD PTR -584[rbp]
	mov	rax, QWORD PTR -616[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ScriptObjAddTokens
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListFree
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1562
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1562
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR -616[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1562:
	mov	rax, QWORD PTR -624[rbp]
	mov	rdx, QWORD PTR -584[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -624[rbp]
	lea	rdx, scriptObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1563
	call	__stack_chk_fail@PLT
.L1563:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE243:
	.size	JimSetScriptFromAny, .-JimSetScriptFromAny
	.type	JimGetScript, @function
JimGetScript:
.LFB244:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 208[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L1565
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 200[rax]
	mov	QWORD PTR -16[rbp], rax
.L1565:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, scriptObjType[rip]
	cmp	rax, rdx
	jne	.L1566
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L1567
.L1566:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetScriptFromAny
.L1567:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE244:
	.size	JimGetScript, .-JimGetScript
	.type	JimScriptValid, @function
JimScriptValid:
.LFB245:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	JimParseCheckMissing
	cmp	eax, 1
	jne	.L1570
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAddErrorToStack
	mov	eax, 0
	jmp	.L1571
.L1570:
	mov	eax, 1
.L1571:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE245:
	.size	JimScriptValid, .-JimScriptValid
	.type	JimIncrCmdRefCount, @function
JimIncrCmdRefCount:
.LFB246:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE246:
	.size	JimIncrCmdRefCount, .-JimIncrCmdRefCount
	.type	JimDecrCmdRefCount, @function
JimDecrCmdRefCount:
.LFB247:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L1581
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L1575
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1576
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1576:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1577
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1577:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1578
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1578:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L1579
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	Jim_FreeHashTable
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	Jim_Free
	jmp	.L1579
.L1575:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L1579
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1579:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1580
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
.L1580:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
.L1581:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE247:
	.size	JimDecrCmdRefCount, .-JimDecrCmdRefCount
	.type	JimVariablesHTValDestructor, @function
JimVariablesHTValDestructor:
.LFB248:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1583
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1583:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE248:
	.size	JimVariablesHTValDestructor, .-JimVariablesHTValDestructor
	.section	.data.rel.ro.local
	.align 32
	.type	JimVariablesHashTableType, @object
	.size	JimVariablesHashTableType, 48
JimVariablesHashTableType:
	.quad	JimStringCopyHTHashFunction
	.quad	JimStringCopyHTDup
	.quad	0
	.quad	JimStringCopyHTKeyCompare
	.quad	JimStringCopyHTKeyDestructor
	.quad	JimVariablesHTValDestructor
	.text
	.type	JimCommandsHT_ValDestructor, @function
JimCommandsHT_ValDestructor:
.LFB249:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE249:
	.size	JimCommandsHT_ValDestructor, .-JimCommandsHT_ValDestructor
	.section	.data.rel.ro.local
	.align 32
	.type	JimCommandsHashTableType, @object
	.size	JimCommandsHashTableType, 48
JimCommandsHashTableType:
	.quad	JimStringCopyHTHashFunction
	.quad	JimStringCopyHTDup
	.quad	0
	.quad	JimStringCopyHTKeyCompare
	.quad	JimStringCopyHTKeyDestructor
	.quad	JimCommandsHT_ValDestructor
	.text
	.globl	Jim_MakeGlobalNamespaceName
	.type	Jim_MakeGlobalNamespaceName, @function
Jim_MakeGlobalNamespaceName:
.LFB250:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE250:
	.size	Jim_MakeGlobalNamespaceName, .-Jim_MakeGlobalNamespaceName
	.type	JimCreateCommand, @function
JimCreateCommand:
.LFB251:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L1588
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 152[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 152[rax], rdx
.L1588:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1589
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 168[rax]
	test	eax, eax
	je	.L1589
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 112[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L1590
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 112[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L1592
.L1590:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1592
.L1589:
	cmp	QWORD PTR -8[rbp], 0
	je	.L1593
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_DeleteHashEntry
.L1593:
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 104[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	Jim_AddHashEntry
.L1592:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE251:
	.size	JimCreateCommand, .-JimCreateCommand
	.globl	Jim_CreateCommand
	.type	Jim_CreateCommand, @function
Jim_CreateCommand:
.LFB252:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	edi, 80
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 80
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimCreateCommand
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE252:
	.size	Jim_CreateCommand, .-Jim_CreateCommand
	.section	.rodata
	.align 8
.LC201:
	.string	"variable for initialization of static \"%#s\" not found in the local context"
.LC202:
	.string	"static variable"
	.align 8
.LC203:
	.string	"static variable name \"%#s\" duplicated in statics list"
	.align 8
.LC204:
	.string	"too many fields in static specifier \"%#s\""
	.text
	.type	JimCreateProcedureStatics, @function
JimCreateProcedureStatics:
.LFB253:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	jne	.L1598
	mov	eax, 0
	jmp	.L1599
.L1598:
	mov	edi, 48
	call	Jim_Alloc
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 32[rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -56[rbp]
	lea	rsi, JimVariablesHashTableType[rip]
	mov	rdi, rax
	call	Jim_InitHashTable
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1600
.L1609:
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 1
	je	.L1601
	cmp	DWORD PTR -36[rbp], 2
	jne	.L1602
.L1601:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -36[rbp], 1
	jne	.L1603
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1604
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC201[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L1599
.L1603:
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -32[rbp], rax
.L1604:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC202[rip]
	mov	rdi, rax
	call	JimValidName
	test	eax, eax
	je	.L1605
	mov	eax, 1
	jmp	.L1599
.L1605:
	mov	edi, 16
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rcx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AddHashEntry
	test	eax, eax
	je	.L1608
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC203[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1607
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1607:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, 1
	jmp	.L1599
.L1602:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC204[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L1599
.L1608:
	add	DWORD PTR -44[rbp], 1
.L1600:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jl	.L1609
	mov	eax, 0
.L1599:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE253:
	.size	JimCreateProcedureStatics, .-JimCreateProcedureStatics
	.type	JimUpdateProcNamespace, @function
JimUpdateProcNamespace:
.LFB254:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE254:
	.size	JimUpdateProcNamespace, .-JimUpdateProcNamespace
	.section	.rodata
.LC205:
	.string	"argument with no name"
	.align 8
.LC206:
	.string	"too many fields in argument specifier \"%#s\""
.LC207:
	.string	"args"
	.align 8
.LC208:
	.string	"'args' specified more than once"
	.text
	.type	JimCreateProcedureCmd, @function
JimCreateProcedureCmd:
.LFB255:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	mov	QWORD PTR -104[rbp], r8
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	add	rax, 5
	sal	eax, 4
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 80
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 4[rax], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 52[rax], -1
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 80[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 64[rax], rdx
	cmp	QWORD PTR -104[rbp], 0
	jne	.L1612
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 208[rax]
	jmp	.L1613
.L1612:
	mov	rax, QWORD PTR -104[rbp]
.L1613:
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 72[rdx], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	cmp	QWORD PTR -88[rbp], 0
	je	.L1614
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimCreateProcedureStatics
	test	eax, eax
	jne	.L1629
.L1614:
	mov	DWORD PTR -60[rbp], 0
	jmp	.L1616
.L1628:
	mov	edx, DWORD PTR -60[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jne	.L1617
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC205[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1618
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1618:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1615
.L1629:
	nop
.L1615:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	mov	eax, 0
	jmp	.L1619
.L1617:
	cmp	DWORD PTR -52[rbp], 2
	jle	.L1620
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC206[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L1615
.L1620:
	cmp	DWORD PTR -52[rbp], 2
	jne	.L1621
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -48[rbp], rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1622
.L1621:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -40[rbp], 0
.L1622:
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, .LC207[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L1623
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 52[rax]
	test	eax, eax
	js	.L1624
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC208[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1625
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1625:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1615
.L1624:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	DWORD PTR 52[rax], edx
	jmp	.L1626
.L1623:
	cmp	DWORD PTR -52[rbp], 2
	jne	.L1627
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 48[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 48[rax], edx
	jmp	.L1626
.L1627:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 44[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 44[rax], edx
.L1626:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rdx], rax
	add	DWORD PTR -60[rbp], 1
.L1616:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -56[rbp]
	jl	.L1628
	mov	rax, QWORD PTR -32[rbp]
.L1619:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE255:
	.size	JimCreateProcedureCmd, .-JimCreateProcedureCmd
	.section	.rodata
	.align 8
.LC209:
	.string	"can't delete \"%s\": command doesn't exist"
	.text
	.globl	Jim_DeleteCommand
	.type	Jim_DeleteCommand, @function
Jim_DeleteCommand:
.LFB256:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1631
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1631
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 2
	jmp	.L1632
.L1631:
	mov	rax, QWORD PTR -32[rbp]
.L1632:
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_DeleteHashEntry
	cmp	eax, 1
	jne	.L1633
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC209[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	DWORD PTR -12[rbp], 1
	jmp	.L1634
.L1633:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 152[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 152[rax], rdx
.L1634:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE256:
	.size	Jim_DeleteCommand, .-Jim_DeleteCommand
	.section	.rodata
	.align 8
.LC210:
	.string	"can't rename \"%s\": command doesn't exist"
	.align 8
.LC211:
	.string	"can't rename to \"%s\": command already exists"
	.text
	.globl	Jim_RenameCommand
	.type	Jim_RenameCommand, @function
Jim_RenameCommand:
.LFB257:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	DWORD PTR -36[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1637
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DeleteCommand
	jmp	.L1638
.L1637:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1639
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1639
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 2
	jmp	.L1640
.L1639:
	mov	rax, QWORD PTR -64[rbp]
.L1640:
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1641
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1641
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 2
	jmp	.L1642
.L1641:
	mov	rax, QWORD PTR -72[rbp]
.L1642:
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1643
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC210[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L1644
.L1643:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	test	rax, rax
	je	.L1645
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC211[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L1644
.L1645:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimIncrCmdRefCount
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimUpdateProcNamespace
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 104[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	Jim_AddHashEntry
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_DeleteHashEntry
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 152[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 152[rax], rdx
	mov	DWORD PTR -36[rbp], 0
.L1644:
	mov	eax, DWORD PTR -36[rbp]
.L1638:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE257:
	.size	Jim_RenameCommand, .-Jim_RenameCommand
	.type	FreeCommandInternalRep, @function
FreeCommandInternalRep:
.LFB258:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1648
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1648:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE258:
	.size	FreeCommandInternalRep, .-FreeCommandInternalRep
	.type	DupCommandInternalRep, @function
DupCommandInternalRep:
.LFB259:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rsi]
	mov	rdx, QWORD PTR 32[rsi]
	mov	QWORD PTR 24[rcx], rax
	mov	QWORD PTR 32[rcx], rdx
	mov	rax, QWORD PTR 40[rsi]
	mov	QWORD PTR 40[rcx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE259:
	.size	DupCommandInternalRep, .-DupCommandInternalRep
	.section	.rodata
.LC212:
	.string	"command"
	.section	.data.rel.ro.local
	.align 32
	.type	commandObjType, @object
	.size	commandObjType, 40
commandObjType:
	.quad	.LC212
	.quad	FreeCommandInternalRep
	.quad	DupCommandInternalRep
	.quad	0
	.long	1
	.zero	4
	.section	.rodata
.LC213:
	.string	"invalid command name \"%#s\""
	.text
	.globl	Jim_GetCommand
	.type	Jim_GetCommand, @function
Jim_GetCommand:
.LFB260:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, commandObjType[rip]
	cmp	rax, rdx
	jne	.L1651
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 152[rax]
	cmp	rdx, rax
	je	.L1652
.L1651:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1653
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1653
.L1654:
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1654
.L1653:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 104[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1655
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1656
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC213[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
.L1656:
	mov	eax, 0
	jmp	.L1657
.L1655:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1658
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1658
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1658:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, commandObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 152[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 120[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 120[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L1659
.L1652:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -24[rbp], rax
.L1659:
	jmp	.L1660
.L1661:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L1660:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 56[rax]
	test	eax, eax
	jne	.L1661
	mov	rax, QWORD PTR -24[rbp]
.L1657:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE260:
	.size	Jim_GetCommand, .-Jim_GetCommand
	.section	.rodata
.LC214:
	.string	"variable"
	.section	.data.rel.ro.local
	.align 32
	.type	variableObjType, @object
	.size	variableObjType, 40
variableObjType:
	.quad	.LC214
	.quad	0
	.quad	0
	.quad	0
	.long	1
	.zero	4
	.section	.rodata
	.align 8
.LC215:
	.string	"%s name contains embedded null"
	.text
	.type	JimValidName, @function
JimValidName:
.LFB261:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, variableObjType[rip]
	cmp	rax, rdx
	je	.L1663
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memchr@PLT
	test	rax, rax
	je	.L1663
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC215[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L1665
.L1663:
	mov	eax, 0
.L1665:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1666
	call	__stack_chk_fail@PLT
.L1666:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE261:
	.size	JimValidName, .-JimValidName
	.type	SetVariableFromAny, @function
SetVariableFromAny:
.LFB262:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, variableObjType[rip]
	cmp	rax, rdx
	jne	.L1668
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	je	.L1669
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	jmp	.L1670
.L1669:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
.L1670:
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L1671
	mov	eax, 0
	jmp	.L1681
.L1668:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, dictSubstObjType[rip]
	cmp	rax, rdx
	jne	.L1673
	mov	eax, 100
	jmp	.L1681
.L1673:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC214[rip]
	mov	rdi, rax
	call	JimValidName
	test	eax, eax
	je	.L1671
	mov	eax, 1
	jmp	.L1681
.L1671:
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	test	eax, eax
	je	.L1674
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L1674
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 40
	mov	rdi, rax
	call	strchr@PLT
	test	rax, rax
	je	.L1674
	mov	eax, 100
	jmp	.L1681
.L1674:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1675
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1675
.L1676:
	add	QWORD PTR -32[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1676
	mov	DWORD PTR -36[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1677
.L1675:
	mov	DWORD PTR -36[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -24[rbp], rax
.L1677:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1678
	cmp	DWORD PTR -36[rbp], 0
	jne	.L1679
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L1679
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FindHashEntry
	mov	QWORD PTR -16[rbp], rax
.L1679:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1678
	mov	eax, 1
	jmp	.L1681
.L1678:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1680
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1680
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1680:
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, variableObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	eax, 0
.L1681:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1682
	call	__stack_chk_fail@PLT
.L1682:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE262:
	.size	SetVariableFromAny, .-SetVariableFromAny
	.type	JimCreateVariable, @function
JimCreateVariable:
.LFB263:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	edi, 16
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1684
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1684
.L1685:
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1685
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 1
	jmp	.L1686
.L1684:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 0
.L1686:
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, 16[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	Jim_AddHashEntry
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1687
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1687
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1687:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, variableObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE263:
	.size	JimCreateVariable, .-JimCreateVariable
	.globl	Jim_SetVariable
	.type	Jim_SetVariable, @function
Jim_SetVariable:
.LFB264:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetVariableFromAny
	cmp	eax, 100
	je	.L1690
	cmp	eax, 100
	jg	.L1691
	test	eax, eax
	je	.L1692
	cmp	eax, 1
	je	.L1693
	jmp	.L1691
.L1690:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimDictSugarSet
	jmp	.L1694
.L1693:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC214[rip]
	mov	rdi, rax
	call	JimValidName
	test	eax, eax
	je	.L1695
	mov	eax, 1
	jmp	.L1694
.L1695:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimCreateVariable
	jmp	.L1691
.L1692:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1696
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1697
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1697:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1691
.L1696:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rax], rdx
	cmp	DWORD PTR -20[rbp], 0
	je	.L1691
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L1694
.L1691:
	mov	eax, 0
.L1694:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE264:
	.size	Jim_SetVariable, .-Jim_SetVariable
	.globl	Jim_SetVariableStr
	.type	Jim_SetVariableStr, @function
Jim_SetVariableStr:
.LFB265:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1699
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1699:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE265:
	.size	Jim_SetVariableStr, .-Jim_SetVariableStr
	.globl	Jim_SetGlobalVariableStr
	.type	Jim_SetGlobalVariableStr, @function
Jim_SetGlobalVariableStr:
.LFB266:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariableStr
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE266:
	.size	Jim_SetGlobalVariableStr, .-Jim_SetGlobalVariableStr
	.globl	Jim_SetVariableStrWithStr
	.type	Jim_SetVariableStrWithStr, @function
Jim_SetVariableStrWithStr:
.LFB267:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1704
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1704:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1705
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1705:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE267:
	.size	Jim_SetVariableStrWithStr, .-Jim_SetVariableStrWithStr
	.section	.rodata
	.align 8
.LC216:
	.string	"bad variable name \"%#s\": upvar won't create a scalar variable that looks like an array element"
.LC217:
	.string	"variable \"%#s\" already exists"
	.align 8
.LC218:
	.string	"bad variable name \"%#s\": upvar won't create namespace variable that refers to procedure variable"
	.align 8
.LC219:
	.string	"can't upvar from variable to itself"
	.text
	.globl	Jim_SetVariableLink
	.type	Jim_SetVariableLink, @function
Jim_SetVariableLink:
.LFB268:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetVariableFromAny
	test	eax, eax
	je	.L1708
	cmp	eax, 100
	jne	.L1709
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC216[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L1710
.L1708:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1711
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC217[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L1710
.L1711:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
.L1709:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1712
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1712
.L1713:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1713
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1714
.L1712:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -32[rbp], rax
.L1714:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1715
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1715
.L1716:
	add	QWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L1716
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -80[rbp], rax
.L1715:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jge	.L1717
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC218[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1718
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1718:
	mov	eax, 1
	jmp	.L1710
.L1717:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	jne	.L1719
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
.L1725:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	strcmp@PLT
	test	eax, eax
	jne	.L1720
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	lea	rsi, .LC219[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1721
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1721:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1722
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1722:
	mov	eax, 1
	jmp	.L1710
.L1720:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetVariableFromAny
	test	eax, eax
	jne	.L1727
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	QWORD PTR -80[rbp], rax
	jne	.L1728
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1725
.L1727:
	nop
	jmp	.L1719
.L1728:
	nop
.L1719:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1726
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1726:
	mov	eax, 0
.L1710:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE268:
	.size	Jim_SetVariableLink, .-Jim_SetVariableLink
	.section	.rodata
	.align 8
.LC220:
	.string	"can't read \"%#s\": no such variable"
	.text
	.globl	Jim_GetVariable
	.type	Jim_GetVariable, @function
Jim_GetVariable:
.LFB269:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetVariableFromAny
	test	eax, eax
	je	.L1730
	cmp	eax, 100
	je	.L1731
	jmp	.L1732
.L1730:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L1733
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L1734
.L1733:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 88[rax], rdx
	cmp	QWORD PTR -8[rbp], 0
	je	.L1737
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L1734
.L1731:
	mov	edx, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimDictSugarGet
	jmp	.L1734
.L1737:
	nop
.L1732:
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1736
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC220[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
.L1736:
	mov	eax, 0
.L1734:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE269:
	.size	Jim_GetVariable, .-Jim_GetVariable
	.globl	Jim_GetGlobalVariable
	.type	Jim_GetGlobalVariable, @function
Jim_GetGlobalVariable:
.LFB270:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE270:
	.size	Jim_GetGlobalVariable, .-Jim_GetGlobalVariable
	.globl	Jim_GetVariableStr
	.type	Jim_GetVariableStr, @function
Jim_GetVariableStr:
.LFB271:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1741
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1741:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE271:
	.size	Jim_GetVariableStr, .-Jim_GetVariableStr
	.globl	Jim_GetGlobalVariableStr
	.type	Jim_GetGlobalVariableStr, @function
Jim_GetGlobalVariableStr:
.LFB272:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariableStr
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE272:
	.size	Jim_GetGlobalVariableStr, .-Jim_GetGlobalVariableStr
	.section	.rodata
	.align 8
.LC221:
	.string	"can't unset \"%#s\": no such variable"
	.text
	.globl	Jim_UnsetVariable
	.type	Jim_UnsetVariable, @function
Jim_UnsetVariable:
.LFB273:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetVariableFromAny
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 100
	jne	.L1746
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	JimDictSugarSet
	jmp	.L1747
.L1746:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1748
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1749
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_UnsetVariable
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	jmp	.L1748
.L1749:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 40[rax]
	test	eax, eax
	je	.L1750
	add	QWORD PTR -16[rbp], 2
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1751
.L1750:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -24[rbp], rax
.L1751:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_DeleteHashEntry
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L1748
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 160[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 160[rdx], rcx
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
.L1748:
	cmp	DWORD PTR -28[rbp], 0
	je	.L1752
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1752
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC221[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
.L1752:
	mov	eax, DWORD PTR -28[rbp]
.L1747:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE273:
	.size	Jim_UnsetVariable, .-Jim_UnsetVariable
	.type	JimDictSugarParseVarKey, @function
JimDictSugarParseVarKey:
.LFB274:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 40
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	add	QWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -48[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	sub	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L1754
	sub	DWORD PTR -44[rbp], 1
.L1754:
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1755
	call	__stack_chk_fail@PLT
.L1755:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE274:
	.size	JimDictSugarParseVarKey, .-JimDictSugarParseVarKey
	.section	.rodata
	.align 8
.LC222:
	.string	"can't unset \"%#s\": no such element in array"
	.align 8
.LC223:
	.string	"can't %s \"%#s\": variable isn't array"
	.text
	.type	JimDictSugarSet, @function
JimDictSugarSet:
.LFB275:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictSubstFromAny
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 32[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, 8
	mov	r8, rcx
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_SetDictKeysVector
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L1757
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1758
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1758:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L1759
.L1757:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L1760
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	test	rax, rax
	je	.L1760
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC222[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L1761
.L1760:
	cmp	QWORD PTR -40[rbp], 0
	je	.L1762
	lea	rax, .LC183[rip]
	jmp	.L1763
.L1762:
	lea	rax, .LC185[rip]
.L1763:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rdi, QWORD PTR -24[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	lea	rsi, .LC223[rip]
	mov	eax, 0
	call	Jim_SetResultFormatted
.L1759:
	mov	eax, DWORD PTR -12[rbp]
.L1761:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE275:
	.size	JimDictSugarSet, .-JimDictSugarSet
	.section	.rodata
.LC224:
	.string	"variable isn't"
.LC225:
	.string	"no such element in"
	.align 8
.LC226:
	.string	"can't read \"%#s(%#s)\": %s array"
	.text
	.type	JimDictExpandArrayVariable, @function
JimDictExpandArrayVariable:
.LFB276:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -24[rbp], 0
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1765
	mov	eax, 0
	jmp	.L1771
.L1765:
	lea	rcx, -24[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	Jim_DictKey
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	je	.L1767
	cmp	DWORD PTR -28[rbp], 0
	jns	.L1768
	lea	rax, .LC224[rip]
	jmp	.L1769
.L1768:
	lea	rax, .LC225[rip]
.L1769:
	mov	rcx, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rdi, QWORD PTR -40[rbp]
	mov	r8, rax
	lea	rsi, .LC226[rip]
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L1770
.L1767:
	mov	eax, DWORD PTR -60[rbp]
	and	eax, 4
	test	eax, eax
	je	.L1770
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L1770
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
.L1770:
	mov	rax, QWORD PTR -24[rbp]
.L1771:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1772
	call	__stack_chk_fail@PLT
.L1772:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE276:
	.size	JimDictExpandArrayVariable, .-JimDictExpandArrayVariable
	.type	JimDictSugarGet, @function
JimDictSugarGet:
.LFB277:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictSubstFromAny
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimDictExpandArrayVariable
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE277:
	.size	JimDictSugarGet, .-JimDictSugarGet
	.type	FreeDictSubstInternalRep, @function
FreeDictSubstInternalRep:
.LFB278:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1776
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1776:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1778
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1778:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE278:
	.size	FreeDictSubstInternalRep, .-FreeDictSubstInternalRep
	.type	DupDictSubstInternalRep, @function
DupDictSubstInternalRep:
.LFB279:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, dictSubstObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE279:
	.size	DupDictSubstInternalRep, .-DupDictSubstInternalRep
	.type	SetDictSubstFromAny, @function
SetDictSubstFromAny:
.LFB280:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, dictSubstObjType[rip]
	cmp	rax, rdx
	je	.L1786
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, interpolatedObjType[rip]
	cmp	rax, rdx
	jne	.L1782
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L1783
.L1782:
	lea	rcx, -16[rbp]
	lea	rdx, -24[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	JimDictSugarParseVarKey
.L1783:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1784
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1784
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1784:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, dictSubstObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 32[rax], rdx
.L1786:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1785
	call	__stack_chk_fail@PLT
.L1785:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE280:
	.size	SetDictSubstFromAny, .-SetDictSubstFromAny
	.type	JimExpandDictSugar, @function
JimExpandDictSugar:
.LFB281:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -16[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictSubstFromAny
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR 32[rax]
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_SubstObj
	test	eax, eax
	je	.L1788
	mov	eax, 0
	jmp	.L1791
.L1788:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	JimDictExpandArrayVariable
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1790
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1790:
	mov	rax, QWORD PTR -16[rbp]
.L1791:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1792
	call	__stack_chk_fail@PLT
.L1792:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE281:
	.size	JimExpandDictSugar, .-JimExpandDictSugar
	.type	JimExpandExprSugar, @function
JimExpandExprSugar:
.LFB282:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_EvalExpression
	test	eax, eax
	jne	.L1794
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L1796
.L1794:
	mov	eax, 0
.L1796:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1797
	call	__stack_chk_fail@PLT
.L1797:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE282:
	.size	JimExpandExprSugar, .-JimExpandExprSugar
	.type	JimCreateCallFrame, @function
JimCreateCallFrame:
.LFB283:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 344[rax]
	test	rax, rax
	je	.L1799
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 344[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 112[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 344[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 80[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 88[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 96[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 104[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 112[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 144[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 152[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 160[rax], 0
	jmp	.L1800
.L1799:
	mov	edi, 168
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 168
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, rax
	lea	rsi, JimVariablesHashTableType[rip]
	mov	rdi, rcx
	call	Jim_InitHashTable
.L1800:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 160[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 160[rdx], rcx
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 72[rax], rdx
	cmp	QWORD PTR -32[rbp], 0
	je	.L1801
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	jmp	.L1802
.L1801:
	mov	edx, 0
.L1802:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 120[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE283:
	.size	JimCreateCallFrame, .-JimCreateCallFrame
	.type	JimDeleteLocalProcs, @function
JimDeleteLocalProcs:
.LFB284:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	cmp	QWORD PTR -64[rbp], 0
	je	.L1805
	jmp	.L1806
.L1812:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 104
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1807
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L1807
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	add	rax, 2
	jmp	.L1808
.L1807:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
.L1808:
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FindHashEntry
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L1809
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1810
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L1811
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx], rax
	jmp	.L1809
.L1811:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L1809
.L1810:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DeleteHashEntry
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 152[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 152[rax], rdx
.L1809:
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1806
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1806:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_StackPop
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1812
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_FreeStack
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_Free
.L1805:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE284:
	.size	JimDeleteLocalProcs, .-JimDeleteLocalProcs
	.type	JimFreeCallFrame, @function
JimFreeCallFrame:
.LFB285:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 144[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDeleteLocalProcs
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 96[rax]
	test	rax, rax
	je	.L1815
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 96[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1815
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1815:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 104[rax]
	test	rax, rax
	je	.L1816
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 104[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1816
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 104[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1816:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 120[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1817
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 120[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1817:
	cmp	DWORD PTR -68[rbp], 0
	je	.L1818
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 16
	je	.L1819
.L1818:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 16
	mov	rdi, rax
	call	Jim_FreeHashTable
	jmp	.L1820
.L1819:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L1821
.L1825:
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1822
.L1824:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1823
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1823:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
.L1822:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1824
	add	DWORD PTR -36[rbp], 1
.L1821:
	cmp	DWORD PTR -36[rbp], 15
	jle	.L1825
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 48[rax], 0
.L1820:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 344[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 112[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 344[rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE285:
	.size	JimFreeCallFrame, .-JimFreeCallFrame
	.type	JimReferencesHTValDestructor, @function
JimReferencesHTValDestructor:
.LFB286:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1827
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1827:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1828
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1828
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1828:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE286:
	.size	JimReferencesHTValDestructor, .-JimReferencesHTValDestructor
	.type	JimReferencesHTHashFunction, @function
JimReferencesHTHashFunction:
.LFB287:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	Jim_IntHashFunction
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE287:
	.size	JimReferencesHTHashFunction, .-JimReferencesHTHashFunction
	.type	JimReferencesHTKeyDup, @function
JimReferencesHTKeyDup:
.LFB288:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	edi, 8
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE288:
	.size	JimReferencesHTKeyDup, .-JimReferencesHTKeyDup
	.type	JimReferencesHTKeyCompare, @function
JimReferencesHTKeyCompare:
.LFB289:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE289:
	.size	JimReferencesHTKeyCompare, .-JimReferencesHTKeyCompare
	.type	JimReferencesHTKeyDestructor, @function
JimReferencesHTKeyDestructor:
.LFB290:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE290:
	.size	JimReferencesHTKeyDestructor, .-JimReferencesHTKeyDestructor
	.section	.data.rel.ro.local
	.align 32
	.type	JimReferencesHashTableType, @object
	.size	JimReferencesHashTableType, 48
JimReferencesHashTableType:
	.quad	JimReferencesHTHashFunction
	.quad	JimReferencesHTKeyDup
	.quad	0
	.quad	JimReferencesHTKeyCompare
	.quad	JimReferencesHTKeyDestructor
	.quad	JimReferencesHTValDestructor
	.section	.rodata
.LC227:
	.string	"<reference.<%s>.%020lu>"
	.text
	.type	JimFormatReference, @function
JimFormatReference:
.LFB291:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	lea	rax, .LC227[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdi, 16[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rdx
	mov	rdx, rdi
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	eax, 42
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE291:
	.size	JimFormatReference, .-JimFormatReference
	.section	.rodata
.LC228:
	.string	"reference"
	.section	.data.rel.ro.local
	.align 32
	.type	referenceObjType, @object
	.size	referenceObjType, 40
referenceObjType:
	.quad	.LC228
	.quad	0
	.quad	0
	.quad	UpdateStringOfReference
	.long	1
	.zero	4
	.text
	.type	UpdateStringOfReference, @function
UpdateStringOfReference:
.LFB292:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 32[rax]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimFormatReference
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStringBytes
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1839
	call	__stack_chk_fail@PLT
.L1839:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE292:
	.size	UpdateStringOfReference, .-UpdateStringOfReference
	.type	isrefchar, @function
isrefchar:
.LFB293:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 95
	je	.L1841
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L1842
.L1841:
	mov	eax, 1
	jmp	.L1844
.L1842:
	mov	eax, 0
.L1844:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE293:
	.size	isrefchar, .-isrefchar
	.section	.rodata
.LC229:
	.string	"<reference.<"
.LC230:
	.string	"invalid reference id \"%#s\""
	.align 8
.LC231:
	.string	"expected reference but got \"%#s\""
	.text
	.type	SetReferenceFromAny, @function
SetReferenceFromAny:
.LFB294:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -96[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, 41
	jle	.L1866
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	QWORD PTR -64[rbp], rax
	jmp	.L1848
.L1849:
	add	QWORD PTR -72[rbp], 1
.L1848:
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	je	.L1849
	jmp	.L1850
.L1852:
	sub	QWORD PTR -64[rbp], 1
.L1850:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 32
	jne	.L1851
	mov	rax, QWORD PTR -64[rbp]
	cmp	rax, QWORD PTR -72[rbp]
	ja	.L1852
.L1851:
	mov	rax, QWORD PTR -64[rbp]
	sub	rax, QWORD PTR -72[rbp]
	cmp	rax, 41
	jne	.L1867
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 12
	lea	rsi, .LC229[rip]
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L1868
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 19
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L1869
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 62
	jne	.L1869
	mov	DWORD PTR -92[rbp], 0
	jmp	.L1857
.L1859:
	mov	eax, DWORD PTR -92[rbp]
	add	eax, 12
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isrefchar
	test	eax, eax
	je	.L1870
	add	DWORD PTR -92[rbp], 1
.L1857:
	cmp	DWORD PTR -92[rbp], 6
	jle	.L1859
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, 21[rax]
	lea	rax, -32[rbp]
	mov	edx, 20
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	BYTE PTR -12[rbp], 0
	lea	rcx, -80[rbp]
	lea	rax, -32[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimCheckConversion
	test	eax, eax
	jne	.L1871
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, 240[rax]
	lea	rax, -88[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L1861
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC230[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L1864
.L1861:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1863
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1863
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1863:
	mov	rax, QWORD PTR -112[rbp]
	lea	rdx, referenceObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	eax, 0
	jmp	.L1864
.L1866:
	nop
	jmp	.L1847
.L1867:
	nop
	jmp	.L1847
.L1868:
	nop
	jmp	.L1847
.L1869:
	nop
	jmp	.L1847
.L1870:
	nop
	jmp	.L1847
.L1871:
	nop
.L1847:
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC231[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
.L1864:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1865
	call	__stack_chk_fail@PLT
.L1865:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE294:
	.size	SetReferenceFromAny, .-SetReferenceFromAny
	.globl	Jim_NewReference
	.type	Jim_NewReference, @function
Jim_NewReference:
.LFB295:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_CollectIfNeeded
	mov	edi, 24
	call	Jim_Alloc
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR 8[rax], rdx
	cmp	QWORD PTR -80[rbp], 0
	je	.L1873
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 16[rax], edx
.L1873:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 232[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 232[rdx], rcx
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 240[rax]
	mov	rdx, QWORD PTR -32[rbp]
	lea	rax, -40[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	Jim_AddHashEntry
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, referenceObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], 0
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 232[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 232[rax], rdx
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 7
	jle	.L1874
	mov	DWORD PTR -48[rbp], 7
.L1874:
	mov	DWORD PTR -44[rbp], 0
	jmp	.L1875
.L1878:
	mov	eax, DWORD PTR -48[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jge	.L1876
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	isrefchar
	test	eax, eax
	je	.L1876
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	mov	BYTE PTR 16[rdx+rax], cl
	jmp	.L1877
.L1876:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	mov	BYTE PTR 16[rdx+rax], 95
.L1877:
	add	DWORD PTR -44[rbp], 1
.L1875:
	cmp	DWORD PTR -44[rbp], 6
	jle	.L1878
	mov	rax, QWORD PTR -32[rbp]
	mov	BYTE PTR 23[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L1880
	call	__stack_chk_fail@PLT
.L1880:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE295:
	.size	Jim_NewReference, .-Jim_NewReference
	.globl	Jim_GetReference
	.type	Jim_GetReference, @function
Jim_GetReference:
.LFB296:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, referenceObjType[rip]
	cmp	rax, rdx
	je	.L1882
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetReferenceFromAny
	cmp	eax, 1
	jne	.L1882
	mov	eax, 0
	jmp	.L1883
.L1882:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 32[rax]
.L1883:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE296:
	.size	Jim_GetReference, .-Jim_GetReference
	.globl	Jim_SetFinalizer
	.type	Jim_SetFinalizer, @function
Jim_SetFinalizer:
.LFB297:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetReference
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1885
	mov	eax, 1
	jmp	.L1886
.L1885:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1887
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1887
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1887:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
.L1886:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE297:
	.size	Jim_SetFinalizer, .-Jim_SetFinalizer
	.globl	Jim_GetFinalizer
	.type	Jim_GetFinalizer, @function
Jim_GetFinalizer:
.LFB298:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetReference
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L1889
	mov	eax, 1
	jmp	.L1890
.L1889:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L1890:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE298:
	.size	Jim_GetFinalizer, .-Jim_GetFinalizer
	.section	.data.rel.ro.local
	.align 32
	.type	JimRefMarkHashTableType, @object
	.size	JimRefMarkHashTableType, 48
JimRefMarkHashTableType:
	.quad	JimReferencesHTHashFunction
	.quad	JimReferencesHTKeyDup
	.quad	0
	.quad	JimReferencesHTKeyCompare
	.quad	JimReferencesHTKeyDestructor
	.quad	0
	.text
	.globl	Jim_Collect
	.type	Jim_Collect, @function
Jim_Collect:
.LFB299:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE299:
	.size	Jim_Collect, .-Jim_Collect
	.globl	Jim_CollectIfNeeded
	.type	Jim_CollectIfNeeded, @function
Jim_CollectIfNeeded:
.LFB300:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 288[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	edi, 0
	call	time@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 296[rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -12[rbp], eax
	cmp	QWORD PTR -8[rbp], 5000
	ja	.L1894
	cmp	DWORD PTR -12[rbp], 300
	jle	.L1896
.L1894:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_Collect
.L1896:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE300:
	.size	Jim_CollectIfNeeded, .-Jim_CollectIfNeeded
	.globl	Jim_IsBigEndian
	.type	Jim_IsBigEndian, @function
Jim_IsBigEndian:
.LFB301:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	WORD PTR -10[rbp], 258
	movzx	eax, BYTE PTR -10[rbp]
	cmp	al, 1
	sete	al
	movzx	eax, al
	mov	rdx, QWORD PTR -8[rbp]
	sub	rdx, QWORD PTR fs:40
	je	.L1899
	call	__stack_chk_fail@PLT
.L1899:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE301:
	.size	Jim_IsBigEndian, .-Jim_IsBigEndian
	.section	.rodata
.LC232:
	.string	"auto_path"
.LC233:
	.string	"0"
.LC234:
	.string	"tcl_interactive"
.LC235:
	.string	"Jim"
.LC236:
	.string	"tcl_platform(engine)"
.LC237:
	.string	"tcl_platform(os)"
.LC238:
	.string	"unix"
.LC239:
	.string	"tcl_platform(platform)"
.LC240:
	.string	":"
.LC241:
	.string	"tcl_platform(pathSeparator)"
.LC242:
	.string	"bigEndian"
.LC243:
	.string	"littleEndian"
.LC244:
	.string	"tcl_platform(byteOrder)"
.LC245:
	.string	"tcl_platform(threaded)"
.LC246:
	.string	"tcl_platform(pointerSize)"
.LC247:
	.string	"tcl_platform(wordSize)"
	.text
	.globl	Jim_CreateInterp
	.type	Jim_CreateInterp, @function
Jim_CreateInterp:
.LFB302:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 464
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 464
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 28[rax], 1000
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 2000
	mov	edi, 0
	call	time@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 296[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 104[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	lea	rsi, JimCommandsHashTableType[rip]
	mov	rdi, rcx
	call	Jim_InitHashTable
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 240[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	lea	rsi, JimReferencesHashTableType[rip]
	mov	rdi, rcx
	call	Jim_InitHashTable
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 352[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	lea	rsi, JimAssocDataHashTableType[rip]
	mov	rdi, rcx
	call	Jim_InitHashTable
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 408
	mov	edx, 0
	lea	rsi, JimPackageHashTableType[rip]
	mov	rdi, rax
	call	Jim_InitHashTable
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 208[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 216[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 224[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	JimCreateCallFrame
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 96[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 304[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, -1
	lea	rsi, .LC79[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 320[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 312[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 192[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 200[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 320[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 200[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 216[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC93[rip]
	lea	rsi, .LC232[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC233[rip]
	lea	rsi, .LC234[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC235[rip]
	lea	rsi, .LC236[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC79[rip]
	lea	rsi, .LC237[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC238[rip]
	lea	rsi, .LC239[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC240[rip]
	lea	rsi, .LC241[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	call	Jim_IsBigEndian
	test	eax, eax
	je	.L1901
	lea	rax, .LC242[rip]
	jmp	.L1902
.L1901:
	lea	rax, .LC243[rip]
.L1902:
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, rax
	lea	rsi, .LC244[rip]
	mov	rdi, rcx
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, .LC233[rip]
	lea	rsi, .LC245[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC246[rip]
	mov	rdi, rax
	call	Jim_SetVariableStr
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC247[rip]
	mov	rdi, rax
	call	Jim_SetVariableStr
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE302:
	.size	Jim_CreateInterp, .-Jim_CreateInterp
	.globl	Jim_FreeInterp
	.type	Jim_FreeInterp, @function
Jim_FreeInterp:
.LFB303:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1905
.L1906:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	JimFreeCallFrame
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
.L1905:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1906
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1907
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1907:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 216[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1908
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 216[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1908:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 224[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1909
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 224[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1909:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1910
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1910:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1911
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1911:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1912
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 312[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1912:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 320[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1913
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 320[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1913:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1914
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1914:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1915
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1915:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 200[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1916
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 200[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1916:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 104
	mov	rdi, rax
	call	Jim_FreeHashTable
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 240
	mov	rdi, rax
	call	Jim_FreeHashTable
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 408
	mov	rdi, rax
	call	Jim_FreeHashTable
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 400[rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 352
	mov	rdi, rax
	call	Jim_FreeHashTable
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L1917
.L1918:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -24[rbp], rax
.L1917:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L1918
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 344[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L1919
.L1921:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 112[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L1920
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	mov	rdi, rax
	call	Jim_FreeHashTable
.L1920:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -32[rbp], rax
.L1919:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L1921
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE303:
	.size	Jim_FreeInterp, .-Jim_FreeInterp
	.section	.rodata
.LC248:
	.string	"bad level \"%s\""
	.text
	.globl	Jim_GetCallFrameByLevel
	.type	Jim_GetCallFrameByLevel, @function
Jim_GetCallFrameByLevel:
.LFB304:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -64[rbp], 0
	je	.L1923
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L1924
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	jim_strtol
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1925
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L1930
.L1925:
	mov	QWORD PTR -40[rbp], -1
	jmp	.L1930
.L1924:
	lea	rdx, -40[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L1928
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jns	.L1929
.L1928:
	mov	QWORD PTR -40[rbp], -1
	jmp	.L1930
.L1929:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	mov	rdx, QWORD PTR -40[rbp]
	sub	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	jmp	.L1930
.L1923:
	lea	rax, .LC160[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, 1
	cdqe
	mov	QWORD PTR -40[rbp], rax
.L1930:
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jne	.L1931
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 96[rax]
	jmp	.L1937
.L1931:
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jle	.L1933
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1934
.L1936:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	cmp	rdx, rax
	jne	.L1935
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L1937
.L1935:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
.L1934:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1936
.L1933:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC248[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 0
.L1937:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1938
	call	__stack_chk_fail@PLT
.L1938:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE304:
	.size	Jim_GetCallFrameByLevel, .-Jim_GetCallFrameByLevel
	.section	.rodata
.LC249:
	.string	"bad level \"%#s\""
	.text
	.type	JimGetCallFrameByInteger, @function
JimGetCallFrameByInteger:
.LFB305:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -24[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L1940
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jg	.L1941
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
.L1941:
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	jne	.L1942
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 96[rax]
	jmp	.L1947
.L1942:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L1944
.L1946:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	cmp	rdx, rax
	jne	.L1945
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L1947
.L1945:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
.L1944:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L1946
.L1940:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC249[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 0
.L1947:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1948
	call	__stack_chk_fail@PLT
.L1948:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE305:
	.size	JimGetCallFrameByInteger, .-JimGetCallFrameByInteger
	.type	JimResetStackTrace, @function
JimResetStackTrace:
.LFB306:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1950
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1950:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 304[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE306:
	.size	JimResetStackTrace, .-JimResetStackTrace
	.type	JimSetStackTrace, @function
JimSetStackTrace:
.LFB307:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1952
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1952:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 304[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 332[rax], 1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 2
	jle	.L1954
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	jne	.L1954
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], 1
.L1954:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE307:
	.size	JimSetStackTrace, .-JimSetStackTrace
	.type	JimAppendStackTrace, @function
JimAppendStackTrace:
.LFB308:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC79[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L1956
	lea	rax, .LC69[rip]
	mov	QWORD PTR -32[rbp], rax
.L1956:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1957
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	je	.L1962
.L1957:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L1959
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1960
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1960:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 304[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L1959:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L1961
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	je	.L1961
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 2
	jle	.L1961
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	je	.L1961
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	jne	.L1961
	mov	eax, DWORD PTR -12[rbp]
	lea	edi, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 304[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 0
	mov	rcx, rdx
	mov	edx, edi
	mov	rdi, rax
	call	ListSetIndex
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rcx, rax
	mov	eax, DWORD PTR -12[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	ListSetIndex
	jmp	.L1955
.L1961:
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 304[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 304[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L1955
.L1962:
	nop
.L1955:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE308:
	.size	JimAppendStackTrace, .-JimAppendStackTrace
	.globl	Jim_SetAssocData
	.type	Jim_SetAssocData, @function
Jim_SetAssocData:
.LFB309:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	edi, 16
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 352[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	Jim_AddHashEntry
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE309:
	.size	Jim_SetAssocData, .-Jim_SetAssocData
	.globl	Jim_GetAssocData
	.type	Jim_GetAssocData, @function
Jim_GetAssocData:
.LFB310:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 352[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_FindHashEntry
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L1966
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	jmp	.L1967
.L1966:
	mov	eax, 0
.L1967:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE310:
	.size	Jim_GetAssocData, .-Jim_GetAssocData
	.globl	Jim_DeleteAssocData
	.type	Jim_DeleteAssocData, @function
Jim_DeleteAssocData:
.LFB311:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 352[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_DeleteHashEntry
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE311:
	.size	Jim_DeleteAssocData, .-Jim_DeleteAssocData
	.globl	Jim_GetExitCode
	.type	Jim_GetExitCode, @function
Jim_GetExitCode:
.LFB312:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE312:
	.size	Jim_GetExitCode, .-Jim_GetExitCode
	.section	.rodata
.LC250:
	.string	"int"
	.section	.data.rel.ro.local
	.align 32
	.type	intObjType, @object
	.size	intObjType, 40
intObjType:
	.quad	.LC250
	.quad	0
	.quad	0
	.quad	UpdateStringOfInt
	.long	0
	.zero	4
	.section	.rodata
.LC251:
	.string	"coerced-double"
	.section	.data.rel.ro.local
	.align 32
	.type	coercedDoubleObjType, @object
	.size	coercedDoubleObjType, 40
coercedDoubleObjType:
	.quad	.LC251
	.quad	0
	.quad	0
	.quad	UpdateStringOfInt
	.long	0
	.zero	4
	.text
	.type	UpdateStringOfInt, @function
UpdateStringOfInt:
.LFB313:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -88[rbp], rax
	mov	DWORD PTR -100[rbp], 0
	cmp	QWORD PTR -88[rbp], 0
	jne	.L1973
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -100[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 48
	jmp	.L1974
.L1973:
	mov	DWORD PTR -96[rbp], 0
	cmp	QWORD PTR -88[rbp], 0
	jns	.L1978
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -100[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 45
	mov	rcx, QWORD PTR -88[rbp]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 2
	mov	rsi, rcx
	sar	rsi, 63
	sub	rax, rsi
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	sub	rcx, rax
	mov	rdx, rcx
	mov	DWORD PTR -92[rbp], edx
	cmp	DWORD PTR -92[rbp], 0
	jle	.L1976
	mov	eax, DWORD PTR -92[rbp]
	mov	edx, eax
	mov	eax, 10
	sub	eax, edx
	mov	ecx, eax
	jmp	.L1977
.L1976:
	mov	eax, DWORD PTR -92[rbp]
	neg	eax
	mov	ecx, eax
.L1977:
	mov	eax, DWORD PTR -96[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -96[rbp], edx
	cdqe
	mov	BYTE PTR -80[rbp+rax], cl
	mov	rcx, QWORD PTR -88[rbp]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	sar	rdx, 2
	mov	rax, rcx
	sar	rax, 63
	sub	rax, rdx
	mov	QWORD PTR -88[rbp], rax
	jmp	.L1978
.L1979:
	mov	rcx, QWORD PTR -88[rbp]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 2
	mov	rsi, rcx
	sar	rsi, 63
	sub	rax, rsi
	mov	rdx, rax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rax
	sub	rcx, rax
	mov	rdx, rcx
	mov	eax, DWORD PTR -96[rbp]
	lea	ecx, 1[rax]
	mov	DWORD PTR -96[rbp], ecx
	cdqe
	mov	BYTE PTR -80[rbp+rax], dl
	mov	rcx, QWORD PTR -88[rbp]
	movabs	rdx, 7378697629483820647
	mov	rax, rcx
	imul	rdx
	mov	rax, rdx
	sar	rax, 2
	sar	rcx, 63
	mov	rdx, rcx
	sub	rax, rdx
	mov	QWORD PTR -88[rbp], rax
.L1978:
	cmp	QWORD PTR -88[rbp], 0
	jne	.L1979
	mov	DWORD PTR -92[rbp], 0
	jmp	.L1980
.L1981:
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, DWORD PTR -92[rbp]
	sub	eax, 1
	cdqe
	movzx	eax, BYTE PTR -80[rbp+rax]
	lea	ecx, 48[rax]
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -100[rbp], edx
	mov	edx, ecx
	cdqe
	mov	BYTE PTR -48[rbp+rax], dl
	add	DWORD PTR -92[rbp], 1
.L1980:
	mov	eax, DWORD PTR -92[rbp]
	cmp	eax, DWORD PTR -96[rbp]
	jl	.L1981
.L1974:
	mov	eax, DWORD PTR -100[rbp]
	cdqe
	mov	BYTE PTR -48[rbp+rax], 0
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStringBytes
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L1982
	call	__stack_chk_fail@PLT
.L1982:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE313:
	.size	UpdateStringOfInt, .-UpdateStringOfInt
	.section	.rodata
	.align 8
.LC252:
	.string	"expected integer but got \"%#s\""
	.align 8
.LC253:
	.string	"Integer value too big to be represented"
	.text
	.type	SetIntFromAny, @function
SetIntFromAny:
.LFB314:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, coercedDoubleObjType[rip]
	cmp	rax, rdx
	jne	.L1984
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, intObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
	jmp	.L1992
.L1984:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_StringToWide
	test	eax, eax
	je	.L1986
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L1987
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC252[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
.L1987:
	mov	eax, 1
	jmp	.L1992
.L1986:
	mov	rax, QWORD PTR -32[rbp]
	movabs	rdx, -9223372036854775808
	cmp	rax, rdx
	je	.L1988
	mov	rax, QWORD PTR -32[rbp]
	movabs	rdx, 9223372036854775807
	cmp	rax, rdx
	jne	.L1989
.L1988:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 34
	jne	.L1989
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC253[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L1990
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L1990:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L1992
.L1989:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1991
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L1991
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L1991:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, intObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
.L1992:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L1993
	call	__stack_chk_fail@PLT
.L1993:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE314:
	.size	SetIntFromAny, .-SetIntFromAny
	.type	JimIsWide, @function
JimIsWide:
.LFB315:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	sete	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE315:
	.size	JimIsWide, .-JimIsWide
	.globl	Jim_GetWide
	.type	Jim_GetWide, @function
Jim_GetWide:
.LFB316:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	je	.L1997
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	SetIntFromAny
	cmp	eax, 1
	jne	.L1997
	mov	eax, 1
	jmp	.L1998
.L1997:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L1998:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE316:
	.size	Jim_GetWide, .-Jim_GetWide
	.type	JimGetWideNoErr, @function
JimGetWideNoErr:
.LFB317:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	je	.L2000
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	SetIntFromAny
	cmp	eax, 1
	jne	.L2000
	mov	eax, 1
	jmp	.L2001
.L2000:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L2001:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE317:
	.size	JimGetWideNoErr, .-JimGetWideNoErr
	.globl	Jim_GetLong
	.type	Jim_GetLong, @function
Jim_GetLong:
.LFB318:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L2003
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L2005
.L2003:
	mov	eax, 1
.L2005:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2006
	call	__stack_chk_fail@PLT
.L2006:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE318:
	.size	Jim_GetLong, .-Jim_GetLong
	.globl	Jim_NewIntObj
	.type	Jim_NewIntObj, @function
Jim_NewIntObj:
.LFB319:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, intObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE319:
	.size	Jim_NewIntObj, .-Jim_NewIntObj
	.section	.rodata
.LC254:
	.string	"double"
	.section	.data.rel.ro.local
	.align 32
	.type	doubleObjType, @object
	.size	doubleObjType, 40
doubleObjType:
	.quad	.LC254
	.quad	0
	.quad	0
	.quad	UpdateStringOfDouble
	.long	0
	.zero	4
	.section	.rodata
.LC255:
	.string	"NaN"
.LC258:
	.string	"-Inf"
.LC259:
	.string	"Inf"
.LC260:
	.string	"%.12g"
	.text
	.type	UpdateStringOfDouble, @function
UpdateStringOfDouble:
.LFB320:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR 24[rax]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	ucomisd	xmm0, QWORD PTR -56[rbp]
	jp	.L2023
	movsd	xmm0, QWORD PTR -56[rbp]
	comisd	xmm0, QWORD PTR -56[rbp]
	je	.L2026
.L2023:
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC255[rip]
	mov	rdi, rax
	call	JimSetStringBytes
	jmp	.L2009
.L2026:
	movsd	xmm0, QWORD PTR .LC256[rip]
	divsd	xmm0, QWORD PTR -56[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L2013
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jne	.L2013
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -56[rbp]
	jbe	.L2027
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC258[rip]
	mov	rdi, rax
	call	JimSetStringBytes
	jmp	.L2009
.L2027:
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC259[rip]
	mov	rdi, rax
	call	JimSetStringBytes
	jmp	.L2009
.L2013:
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, -48[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC260[rip]
	mov	rdi, rax
	mov	eax, 1
	call	sprintf@PLT
	mov	DWORD PTR -60[rbp], eax
	mov	DWORD PTR -64[rbp], 0
	jmp	.L2018
.L2020:
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	movzx	eax, BYTE PTR -48[rbp+rax]
	cmp	al, 46
	je	.L2019
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	movzx	eax, BYTE PTR -48[rbp+rax]
	cmp	al, 101
	je	.L2019
	add	DWORD PTR -64[rbp], 1
.L2018:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L2020
.L2019:
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	movzx	eax, BYTE PTR -48[rbp+rax]
	test	al, al
	jne	.L2021
	mov	eax, DWORD PTR -64[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -64[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 46
	mov	eax, DWORD PTR -64[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -64[rbp], edx
	cdqe
	mov	BYTE PTR -48[rbp+rax], 48
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	mov	BYTE PTR -48[rbp+rax], 0
.L2021:
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStringBytes
.L2009:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2022
	call	__stack_chk_fail@PLT
.L2022:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE320:
	.size	UpdateStringOfDouble, .-UpdateStringOfDouble
	.section	.rodata
	.align 8
.LC261:
	.string	"expected floating-point number but got \"%#s\""
	.text
	.type	SetDoubleFromAny, @function
SetDoubleFromAny:
.LFB321:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_StringToWide
	test	eax, eax
	jne	.L2029
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2030
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2030
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2030:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, coercedDoubleObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
	jmp	.L2034
.L2029:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StringToDouble
	test	eax, eax
	je	.L2032
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC261[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L2034
.L2032:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2033
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2033
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2033:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, doubleObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	movsd	xmm0, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	movsd	QWORD PTR 24[rax], xmm0
	mov	eax, 0
.L2034:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2035
	call	__stack_chk_fail@PLT
.L2035:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE321:
	.size	SetDoubleFromAny, .-SetDoubleFromAny
	.globl	Jim_GetDouble
	.type	Jim_GetDouble, @function
Jim_GetDouble:
.LFB322:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, coercedDoubleObjType[rip]
	cmp	rax, rdx
	jne	.L2037
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 0
	jmp	.L2038
.L2037:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, doubleObjType[rip]
	cmp	rax, rdx
	je	.L2039
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDoubleFromAny
	cmp	eax, 1
	jne	.L2039
	mov	eax, 1
	jmp	.L2038
.L2039:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, coercedDoubleObjType[rip]
	cmp	rax, rdx
	jne	.L2040
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L2041
.L2040:
	mov	rax, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
.L2041:
	mov	eax, 0
.L2038:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE322:
	.size	Jim_GetDouble, .-Jim_GetDouble
	.globl	Jim_NewDoubleObj
	.type	Jim_NewDoubleObj, @function
Jim_NewDoubleObj:
.LFB323:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	movsd	QWORD PTR -32[rbp], xmm0
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, doubleObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR -32[rbp]
	movsd	QWORD PTR 24[rax], xmm0
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE323:
	.size	Jim_NewDoubleObj, .-Jim_NewDoubleObj
	.section	.rodata
.LC262:
	.string	"list"
	.section	.data.rel.ro.local
	.align 32
	.type	listObjType, @object
	.size	listObjType, 40
listObjType:
	.quad	.LC262
	.quad	FreeListInternalRep
	.quad	DupListInternalRep
	.quad	UpdateStringOfList
	.long	0
	.zero	4
	.text
	.type	FreeListInternalRep, @function
FreeListInternalRep:
.LFB324:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2045
.L2047:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2046
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2046:
	add	DWORD PTR -4[rbp], 1
.L2045:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L2047
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE324:
	.size	FreeListInternalRep, .-FreeListInternalRep
	.type	DupListInternalRep, @function
DupListInternalRep:
.LFB325:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 36[rax]
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2049
.L2050:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -4[rbp], 1
.L2049:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L2050
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, listObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE325:
	.size	DupListInternalRep, .-DupListInternalRep
	.type	ListElementQuotingType, @function
ListElementQuotingType:
.LFB326:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -28[rbp], 0
	jne	.L2052
	mov	eax, 1
	jmp	.L2053
.L2052:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 34
	je	.L2054
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L2055
.L2054:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2056
.L2055:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L2057
.L2062:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 125
	je	.L2085
	cmp	eax, 125
	jg	.L2059
	cmp	eax, 123
	je	.L2085
	cmp	eax, 123
	jg	.L2059
	cmp	eax, 59
	jg	.L2060
	cmp	eax, 9
	jl	.L2059
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	movabs	rax, 576460842497752576
	and	rax, rdx
	test	rax, rax
	setne	al
	test	al, al
	jne	.L2061
	jmp	.L2059
.L2060:
	sub	eax, 91
	cmp	eax, 2
	ja	.L2059
.L2061:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2085
.L2059:
	add	DWORD PTR -16[rbp], 1
.L2057:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L2062
	mov	eax, 0
	jmp	.L2053
.L2085:
	nop
.L2056:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L2063
	mov	eax, 2
	jmp	.L2053
.L2063:
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L2064
.L2075:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 91
	cmp	eax, 34
	ja	.L2065
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2067[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2067[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2067:
	.long	.L2071-.L2067
	.long	.L2070-.L2067
	.long	.L2069-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2065-.L2067
	.long	.L2068-.L2067
	.long	.L2065-.L2067
	.long	.L2066-.L2067
	.text
.L2068:
	add	DWORD PTR -12[rbp], 1
	jmp	.L2065
.L2066:
	sub	DWORD PTR -12[rbp], 1
	cmp	DWORD PTR -12[rbp], 0
	jns	.L2086
	mov	eax, 2
	jmp	.L2053
.L2071:
	add	DWORD PTR -8[rbp], 1
	jmp	.L2065
.L2069:
	sub	DWORD PTR -8[rbp], 1
	jmp	.L2065
.L2070:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L2073
	mov	eax, 2
	jmp	.L2053
.L2073:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2087
	add	DWORD PTR -16[rbp], 1
	jmp	.L2087
.L2086:
	nop
	jmp	.L2065
.L2087:
	nop
.L2065:
	add	DWORD PTR -16[rbp], 1
.L2064:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L2075
	cmp	DWORD PTR -8[rbp], 0
	jns	.L2076
	mov	eax, 2
	jmp	.L2053
.L2076:
	cmp	DWORD PTR -12[rbp], 0
	jne	.L2077
	cmp	DWORD PTR -4[rbp], 0
	jne	.L2078
	mov	eax, 1
	jmp	.L2053
.L2078:
	mov	DWORD PTR -16[rbp], 0
	jmp	.L2079
.L2084:
	mov	eax, DWORD PTR -16[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 13
	jg	.L2080
	cmp	eax, 9
	jge	.L2081
	jmp	.L2082
.L2083:
	sub	eax, 32
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	movabs	rax, 4035225266258182165
	and	rax, rdx
	test	rax, rax
	setne	al
	test	al, al
	jne	.L2081
	jmp	.L2082
.L2080:
	cmp	eax, 93
	jg	.L2082
	cmp	eax, 32
	jge	.L2083
	jmp	.L2082
.L2081:
	mov	eax, 1
	jmp	.L2053
.L2082:
	add	DWORD PTR -16[rbp], 1
.L2079:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L2084
	mov	eax, 0
	jmp	.L2053
.L2077:
	mov	eax, 2
.L2053:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE326:
	.size	ListElementQuotingType, .-ListElementQuotingType
	.type	BackslashQuoteString, @function
BackslashQuoteString:
.LFB327:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L2089
.L2099:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	cmp	eax, 125
	je	.L2090
	cmp	eax, 125
	jg	.L2091
	cmp	eax, 93
	jg	.L2092
	cmp	eax, 9
	jl	.L2091
	sub	eax, 9
	cmp	eax, 84
	ja	.L2091
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2093[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2093[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2093:
	.long	.L2098-.L2093
	.long	.L2097-.L2093
	.long	.L2096-.L2093
	.long	.L2095-.L2093
	.long	.L2094-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2090-.L2093
	.long	.L2091-.L2093
	.long	.L2090-.L2093
	.long	.L2091-.L2093
	.long	.L2090-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2090-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2091-.L2093
	.long	.L2090-.L2093
	.long	.L2090-.L2093
	.long	.L2090-.L2093
	.text
.L2092:
	cmp	eax, 123
	jne	.L2091
.L2090:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	jmp	.L2089
.L2097:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 110
	add	QWORD PTR -24[rbp], 1
	jmp	.L2089
.L2094:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 114
	add	QWORD PTR -24[rbp], 1
	jmp	.L2089
.L2098:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 116
	add	QWORD PTR -24[rbp], 1
	jmp	.L2089
.L2095:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 102
	add	QWORD PTR -24[rbp], 1
	jmp	.L2089
.L2096:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 92
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	BYTE PTR [rax], 118
	add	QWORD PTR -24[rbp], 1
	jmp	.L2089
.L2091:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	nop
.L2089:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -28[rbp], edx
	test	eax, eax
	jne	.L2099
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -40[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE327:
	.size	BackslashQuoteString, .-BackslashQuoteString
	.type	JimMakeListStringRep, @function
JimMakeListStringRep:
.LFB328:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 136
	.cfi_offset 3, -24
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	DWORD PTR -132[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -132[rbp], 32
	jle	.L2102
	mov	eax, DWORD PTR -132[rbp]
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -80[rbp], rax
	jmp	.L2103
.L2102:
	lea	rax, -64[rbp]
	mov	QWORD PTR -80[rbp], rax
.L2103:
	mov	DWORD PTR -100[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	jmp	.L2104
.L2111:
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -108[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -72[rbp], rax
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -104[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -80[rbp]
	lea	rbx, [rcx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	ListElementQuotingType
	mov	BYTE PTR [rbx], al
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	eax, 2
	je	.L2105
	cmp	eax, 2
	jg	.L2106
	test	eax, eax
	je	.L2107
	cmp	eax, 1
	je	.L2108
	jmp	.L2106
.L2107:
	cmp	DWORD PTR -104[rbp], 0
	jne	.L2109
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	je	.L2110
.L2109:
	mov	eax, DWORD PTR -108[rbp]
	add	DWORD PTR -100[rbp], eax
	jmp	.L2106
.L2110:
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
.L2108:
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 2
	add	DWORD PTR -100[rbp], eax
	jmp	.L2106
.L2105:
	mov	eax, DWORD PTR -108[rbp]
	add	eax, eax
	add	DWORD PTR -100[rbp], eax
	nop
.L2106:
	add	DWORD PTR -100[rbp], 1
	add	DWORD PTR -104[rbp], 1
.L2104:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -132[rbp]
	jl	.L2111
	add	DWORD PTR -100[rbp], 1
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -88[rbp], rax
	mov	DWORD PTR -96[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	jmp	.L2112
.L2119:
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -108[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cmp	eax, 2
	je	.L2113
	cmp	eax, 2
	jg	.L2114
	test	eax, eax
	je	.L2115
	cmp	eax, 1
	je	.L2116
	jmp	.L2114
.L2115:
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	QWORD PTR -88[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	add	DWORD PTR -96[rbp], eax
	jmp	.L2114
.L2116:
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	BYTE PTR [rax], 123
	mov	eax, DWORD PTR -108[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	BYTE PTR [rax], 125
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 2
	add	DWORD PTR -96[rbp], eax
	jmp	.L2114
.L2113:
	cmp	DWORD PTR -104[rbp], 0
	jne	.L2117
	mov	rax, QWORD PTR -72[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L2117
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	BYTE PTR [rax], 92
	add	DWORD PTR -96[rbp], 1
.L2117:
	mov	ecx, DWORD PTR -108[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	BackslashQuoteString
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	add	QWORD PTR -88[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	add	DWORD PTR -96[rbp], eax
	nop
.L2114:
	mov	eax, DWORD PTR -104[rbp]
	add	eax, 1
	cmp	DWORD PTR -132[rbp], eax
	je	.L2118
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -88[rbp], rdx
	mov	BYTE PTR [rax], 32
	add	DWORD PTR -96[rbp], 1
.L2118:
	add	DWORD PTR -104[rbp], 1
.L2112:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -132[rbp]
	jl	.L2119
	mov	rax, QWORD PTR -88[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR -96[rbp]
	mov	DWORD PTR 20[rax], edx
	lea	rax, -64[rbp]
	cmp	QWORD PTR -80[rbp], rax
	je	.L2122
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	Jim_Free
.L2122:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2121
	call	__stack_chk_fail@PLT
.L2121:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE328:
	.size	JimMakeListStringRep, .-JimMakeListStringRep
	.type	UpdateStringOfList, @function
UpdateStringOfList:
.LFB329:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimMakeListStringRep
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE329:
	.size	UpdateStringOfList, .-UpdateStringOfList
	.type	SetListFromAny, @function
SetListFromAny:
.LFB330:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, listObjType[rip]
	cmp	rax, rdx
	jne	.L2125
	mov	eax, 0
	jmp	.L2139
.L2125:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	Jim_IsDict
	test	eax, eax
	je	.L2127
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2127
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDictPairs
	mov	QWORD PTR -104[rbp], rax
	mov	DWORD PTR -116[rbp], 0
	jmp	.L2128
.L2129:
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -116[rbp], 1
.L2128:
	mov	eax, DWORD PTR -80[rbp]
	cmp	DWORD PTR -116[rbp], eax
	jl	.L2129
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2130
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2130
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2130:
	mov	rax, QWORD PTR -144[rbp]
	lea	rdx, listObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	edx, DWORD PTR -80[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
	jmp	.L2139
.L2127:
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, sourceObjType[rip]
	cmp	rax, rdx
	jne	.L2131
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -120[rbp], eax
	jmp	.L2132
.L2131:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	DWORD PTR -120[rbp], 1
.L2132:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], edx
	lea	rdx, -124[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2133
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2133
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2133:
	mov	rax, QWORD PTR -144[rbp]
	lea	rdx, listObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 36[rax], 0
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	eax, DWORD PTR -124[rbp]
	test	eax, eax
	je	.L2134
	mov	edx, DWORD PTR -124[rbp]
	mov	ecx, DWORD PTR -120[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	JimParserInit
	jmp	.L2135
.L2137:
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	JimParseList
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 1
	je	.L2136
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 2
	je	.L2136
	jmp	.L2135
.L2136:
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimParserGetTokenObj
	mov	QWORD PTR -88[rbp], rax
	mov	ecx, DWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	JimSetSourceInfo
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAppendElement
.L2135:
	mov	eax, DWORD PTR -40[rbp]
	test	eax, eax
	je	.L2137
.L2134:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2138
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2138:
	mov	eax, 0
.L2139:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2140
	call	__stack_chk_fail@PLT
.L2140:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE330:
	.size	SetListFromAny, .-SetListFromAny
	.globl	Jim_NewListObj
	.type	Jim_NewListObj, @function
Jim_NewListObj:
.LFB331:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, listObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 0
	cmp	DWORD PTR -36[rbp], 0
	je	.L2142
	mov	rcx, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	ListInsertElements
.L2142:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE331:
	.size	Jim_NewListObj, .-Jim_NewListObj
	.type	JimListGetElements, @function
JimListGetElements:
.LFB332:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE332:
	.size	JimListGetElements, .-JimListGetElements
	.type	JimSign, @function
JimSign:
.LFB333:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	jne	.L2146
	mov	eax, 0
	jmp	.L2147
.L2146:
	cmp	QWORD PTR -8[rbp], 0
	jns	.L2148
	mov	eax, -1
	jmp	.L2147
.L2148:
	mov	eax, 1
.L2147:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE333:
	.size	JimSign, .-JimSign
	.local	sort_info
	.comm	sort_info,8,8
	.type	ListSortIndexHelper, @function
ListSortIndexHelper:
.LFB334:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR sort_info[rip]
	mov	edx, DWORD PTR 224[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rcx, -24[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	Jim_ListIndex
	test	eax, eax
	jne	.L2150
	mov	rax, QWORD PTR sort_info[rip]
	mov	edx, DWORD PTR 224[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rcx, -16[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	Jim_ListIndex
	test	eax, eax
	je	.L2151
.L2150:
	mov	rax, QWORD PTR sort_info[rip]
	mov	esi, 1
	mov	rdi, rax
	call	longjmp@PLT
.L2151:
	mov	rax, QWORD PTR sort_info[rip]
	mov	rcx, QWORD PTR 240[rax]
	lea	rdx, -16[rbp]
	lea	rax, -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L2153
	call	__stack_chk_fail@PLT
.L2153:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE334:
	.size	ListSortIndexHelper, .-ListSortIndexHelper
	.type	ListSortString, @function
ListSortString:
.LFB335:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_StringCompareObj
	mov	rdx, QWORD PTR sort_info[rip]
	mov	edx, DWORD PTR 220[rdx]
	imul	eax, edx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE335:
	.size	ListSortString, .-ListSortString
	.type	ListSortStringNoCase, @function
ListSortStringNoCase:
.LFB336:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_StringCompareObj
	mov	rdx, QWORD PTR sort_info[rip]
	mov	edx, DWORD PTR 220[rdx]
	imul	eax, edx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE336:
	.size	ListSortStringNoCase, .-ListSortStringNoCase
	.type	ListSortInteger, @function
ListSortInteger:
.LFB337:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -24[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rdx, -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L2159
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rdx, -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L2160
.L2159:
	mov	rax, QWORD PTR sort_info[rip]
	mov	esi, 1
	mov	rdi, rax
	call	longjmp@PLT
.L2160:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	sub	rax, rdx
	mov	rdi, rax
	call	JimSign
	mov	rdx, QWORD PTR sort_info[rip]
	mov	edx, DWORD PTR 220[rdx]
	imul	eax, edx
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2162
	call	__stack_chk_fail@PLT
.L2162:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE337:
	.size	ListSortInteger, .-ListSortInteger
	.type	ListSortReal, @function
ListSortReal:
.LFB338:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rdx, -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	jne	.L2164
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rdx, -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	je	.L2165
.L2164:
	mov	rax, QWORD PTR sort_info[rip]
	mov	esi, 1
	mov	rdi, rax
	call	longjmp@PLT
.L2165:
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	ucomisd	xmm0, xmm1
	jp	.L2166
	ucomisd	xmm0, xmm1
	jne	.L2166
	mov	eax, 0
	jmp	.L2171
.L2166:
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	comisd	xmm0, xmm1
	jbe	.L2175
	mov	rax, QWORD PTR sort_info[rip]
	mov	eax, DWORD PTR 220[rax]
	jmp	.L2171
.L2175:
	mov	rax, QWORD PTR sort_info[rip]
	mov	eax, DWORD PTR 220[rax]
	neg	eax
.L2171:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2172
	call	__stack_chk_fail@PLT
.L2172:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE338:
	.size	ListSortReal, .-ListSortReal
	.type	ListSortCommand, @function
ListSortCommand:
.LFB339:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR sort_info[rip]
	mov	rdx, QWORD PTR 200[rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L2177
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	lea	rdx, -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L2178
.L2177:
	mov	rax, QWORD PTR sort_info[rip]
	mov	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	mov	rdi, rdx
	call	longjmp@PLT
.L2178:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimSign
	mov	rdx, QWORD PTR sort_info[rip]
	mov	edx, DWORD PTR 220[rdx]
	imul	eax, edx
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2180
	call	__stack_chk_fail@PLT
.L2180:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE339:
	.size	ListSortCommand, .-ListSortCommand
	.type	ListRemoveDuplicates, @function
ListRemoveDuplicates:
.LFB340:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 1
	jmp	.L2182
.L2185:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rdx
	call	rax
	test	eax, eax
	jne	.L2183
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2184
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR sort_info[rip]
	mov	rax, QWORD PTR 208[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L2184
.L2183:
	add	DWORD PTR -12[rbp], 1
.L2184:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -16[rbp], 1
.L2182:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -16[rbp], eax
	jl	.L2185
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	add	DWORD PTR -12[rbp], 1
	mov	edx, DWORD PTR -12[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR 32[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE340:
	.size	ListRemoveDuplicates, .-ListRemoveDuplicates
	.type	ListSortElements, @function
ListSortElements:
.LFB341:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	mov	rax, QWORD PTR sort_info[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR sort_info[rip], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 216[rax]
	cmp	eax, 4
	ja	.L2187
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2189[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2189[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2189:
	.long	.L2193-.L2189
	.long	.L2192-.L2189
	.long	.L2191-.L2189
	.long	.L2190-.L2189
	.long	.L2188-.L2189
	.text
.L2193:
	lea	rax, ListSortString[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2194
.L2192:
	lea	rax, ListSortStringNoCase[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2194
.L2191:
	lea	rax, ListSortInteger[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2194
.L2190:
	lea	rax, ListSortReal[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2194
.L2188:
	lea	rax, ListSortCommand[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L2194
.L2187:
	mov	QWORD PTR -16[rbp], 0
	mov	eax, -1
	jmp	.L2195
.L2194:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 228[rax]
	test	eax, eax
	je	.L2196
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 240[rax], rdx
	lea	rax, ListSortIndexHelper[rip]
	mov	QWORD PTR -16[rbp], rax
.L2196:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	_setjmp@PLT
	endbr64
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L2198
	mov	eax, DWORD PTR -32[rbp]
	movsx	rsi, eax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rdx
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 232[rax]
	test	eax, eax
	je	.L2199
	cmp	DWORD PTR -32[rbp], 1
	jle	.L2199
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListRemoveDuplicates
.L2199:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
.L2198:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR sort_info[rip], rax
	mov	eax, DWORD PTR -28[rbp]
.L2195:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE341:
	.size	ListSortElements, .-ListSortElements
	.type	ListInsertElements, @function
ListInsertElements:
.LFB342:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	QWORD PTR -56[rbp], rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	DWORD PTR -20[rbp], eax
	jle	.L2201
	cmp	DWORD PTR -20[rbp], 1
	jg	.L2202
	mov	DWORD PTR -20[rbp], 4
	jmp	.L2203
.L2202:
	sal	DWORD PTR -20[rbp]
.L2203:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR 36[rax], edx
.L2201:
	cmp	DWORD PTR -44[rbp], 0
	jns	.L2204
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -44[rbp], eax
.L2204:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memmove@PLT
	mov	DWORD PTR -16[rbp], 0
	jmp	.L2205
.L2206:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -16[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -16[rbp], 1
.L2205:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L2206
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 32[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE342:
	.size	ListInsertElements, .-ListInsertElements
	.type	ListAppendElement, @function
ListAppendElement:
.LFB343:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, -1
	mov	rdi, rax
	call	ListInsertElements
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE343:
	.size	ListAppendElement, .-ListAppendElement
	.type	ListAppendList, @function
ListAppendList:
.LFB344:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	ListInsertElements
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE344:
	.size	ListAppendList, .-ListAppendList
	.globl	Jim_ListAppendElement
	.type	Jim_ListAppendElement, @function
Jim_ListAppendElement:
.LFB345:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAppendElement
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE345:
	.size	Jim_ListAppendElement, .-Jim_ListAppendElement
	.globl	Jim_ListAppendList
	.type	Jim_ListAppendList, @function
Jim_ListAppendList:
.LFB346:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAppendList
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE346:
	.size	Jim_ListAppendList, .-Jim_ListAppendList
	.globl	Jim_ListLength
	.type	Jim_ListLength, @function
Jim_ListLength:
.LFB347:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE347:
	.size	Jim_ListLength, .-Jim_ListLength
	.globl	Jim_ListInsertElements
	.type	Jim_ListInsertElements, @function
Jim_ListInsertElements:
.LFB348:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	DWORD PTR -24[rbp], ecx
	mov	QWORD PTR -32[rbp], r8
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	cmp	DWORD PTR -20[rbp], 0
	js	.L2214
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -20[rbp], eax
	jle	.L2214
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L2215
.L2214:
	cmp	DWORD PTR -20[rbp], 0
	jns	.L2215
	mov	DWORD PTR -20[rbp], 0
.L2215:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rcx, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -24[rbp]
	mov	esi, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	ListInsertElements
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE348:
	.size	Jim_ListInsertElements, .-Jim_ListInsertElements
	.globl	Jim_ListGetIndex
	.type	Jim_ListGetIndex, @function
Jim_ListGetIndex:
.LFB349:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	cmp	DWORD PTR -20[rbp], 0
	js	.L2217
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L2218
.L2217:
	cmp	DWORD PTR -20[rbp], 0
	jns	.L2219
	mov	eax, DWORD PTR -20[rbp]
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jl	.L2219
.L2218:
	mov	eax, 0
	jmp	.L2220
.L2219:
	cmp	DWORD PTR -20[rbp], 0
	jns	.L2221
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	DWORD PTR -20[rbp], eax
.L2221:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
.L2220:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE349:
	.size	Jim_ListGetIndex, .-Jim_ListGetIndex
	.section	.rodata
.LC263:
	.string	"list index out of range"
	.text
	.globl	Jim_ListIndex
	.type	Jim_ListIndex, @function
Jim_ListIndex:
.LFB350:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -40[rbp], r8d
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L2223
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 1
	test	eax, eax
	je	.L2224
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC263[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2225
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2225:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L2224:
	mov	eax, 1
	jmp	.L2226
.L2223:
	mov	eax, 0
.L2226:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE350:
	.size	Jim_ListIndex, .-Jim_ListIndex
	.type	ListSetIndex, @function
ListSetIndex:
.LFB351:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -40[rbp], r8d
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	cmp	DWORD PTR -36[rbp], 0
	js	.L2228
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	DWORD PTR -36[rbp], eax
	jge	.L2229
.L2228:
	cmp	DWORD PTR -36[rbp], 0
	jns	.L2230
	mov	eax, DWORD PTR -36[rbp]
	not	eax
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jl	.L2230
.L2229:
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 1
	test	eax, eax
	je	.L2231
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC263[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2232
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2232:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L2231:
	mov	eax, 1
	jmp	.L2233
.L2230:
	cmp	DWORD PTR -36[rbp], 0
	jns	.L2234
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 32[rax]
	add	DWORD PTR -36[rbp], eax
.L2234:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2235
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2235:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, 0
.L2233:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE351:
	.size	ListSetIndex, .-ListSetIndex
	.globl	Jim_ListSetIndex
	.type	Jim_ListSetIndex, @function
Jim_ListSetIndex:
.LFB352:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -92[rbp], ecx
	mov	QWORD PTR -104[rbp], r8
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 5
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jne	.L2237
	mov	eax, 1
	jmp	.L2251
.L2237:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	setg	al
	movzx	eax, al
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L2239
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L2239:
	mov	DWORD PTR -48[rbp], 0
	jmp	.L2240
.L2245:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	jne	.L2253
	mov	edx, DWORD PTR -52[rbp]
	lea	rcx, -40[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	Jim_ListIndex
	test	eax, eax
	jne	.L2254
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L2244
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -40[rbp], rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	ListSetIndex
.L2244:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	add	DWORD PTR -48[rbp], 1
.L2240:
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, 1
	cmp	DWORD PTR -48[rbp], eax
	jl	.L2245
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	jne	.L2255
	mov	edx, DWORD PTR -52[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8d, 1
	mov	rdi, rax
	call	ListSetIndex
	cmp	eax, 1
	je	.L2256
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	jne	.L2257
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2249
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2249:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L2251
.L2253:
	nop
	jmp	.L2242
.L2254:
	nop
	jmp	.L2242
.L2255:
	nop
	jmp	.L2242
.L2256:
	nop
	jmp	.L2242
.L2257:
	nop
.L2242:
	cmp	DWORD PTR -44[rbp], 0
	je	.L2250
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2250:
	mov	eax, 1
.L2251:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L2252
	call	__stack_chk_fail@PLT
.L2252:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE352:
	.size	Jim_ListSetIndex, .-Jim_ListSetIndex
	.globl	Jim_ListJoin
	.type	Jim_ListJoin, @function
Jim_ListJoin:
.LFB353:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -16[rbp], 0
	jmp	.L2259
.L2260:
	mov	edx, DWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	add	DWORD PTR -16[rbp], 1
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	je	.L2259
	mov	ecx, DWORD PTR -44[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_AppendString
.L2259:
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jl	.L2260
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE353:
	.size	Jim_ListJoin, .-Jim_ListJoin
	.globl	Jim_ConcatObj
	.type	Jim_ConcatObj, @function
Jim_ConcatObj:
.LFB354:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L2263
.L2266:
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_IsList
	test	eax, eax
	je	.L2286
	add	DWORD PTR -48[rbp], 1
.L2263:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L2266
	jmp	.L2265
.L2286:
	nop
.L2265:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jne	.L2267
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L2268
.L2269:
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAppendList
	add	DWORD PTR -48[rbp], 1
.L2268:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L2269
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L2270
.L2267:
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -48[rbp], 0
	jmp	.L2271
.L2272:
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	add	DWORD PTR -44[rbp], eax
	add	DWORD PTR -48[rbp], 1
.L2271:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L2272
	cmp	DWORD PTR -76[rbp], 0
	je	.L2273
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 1
	add	DWORD PTR -44[rbp], eax
.L2273:
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L2274
.L2284:
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -52[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -32[rbp], rax
	jmp	.L2275
.L2277:
	add	QWORD PTR -32[rbp], 1
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	DWORD PTR -52[rbp], eax
	sub	DWORD PTR -44[rbp], 1
.L2275:
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	je	.L2278
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2277
	jmp	.L2278
.L2281:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 1
	jle	.L2279
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, -2[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L2287
.L2279:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	mov	DWORD PTR -52[rbp], eax
	sub	DWORD PTR -44[rbp], 1
.L2278:
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	je	.L2280
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rcx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2281
	jmp	.L2280
.L2287:
	nop
.L2280:
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	add	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 1
	cmp	DWORD PTR -76[rbp], eax
	je	.L2282
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	je	.L2283
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR [rax], 32
	jmp	.L2282
.L2283:
	sub	DWORD PTR -44[rbp], 1
.L2282:
	add	DWORD PTR -48[rbp], 1
.L2274:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L2284
	mov	rax, QWORD PTR -40[rbp]
	mov	BYTE PTR [rax], 0
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
.L2270:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2285
	call	__stack_chk_fail@PLT
.L2285:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE354:
	.size	Jim_ConcatObj, .-Jim_ConcatObj
	.globl	Jim_ListRange
	.type	Jim_ListRange, @function
Jim_ListRange:
.LFB355:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -24[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	jne	.L2289
	lea	rdx, -20[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L2290
.L2289:
	mov	eax, 0
	jmp	.L2293
.L2290:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	DWORD PTR -24[rbp], eax
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	DWORD PTR -20[rbp], eax
	lea	rcx, -16[rbp]
	lea	rdx, -20[rbp]
	lea	rsi, -24[rbp]
	mov	eax, DWORD PTR -12[rbp]
	mov	edi, eax
	call	JimRelToAbsRange
	mov	eax, DWORD PTR -24[rbp]
	test	eax, eax
	jne	.L2292
	mov	eax, DWORD PTR -20[rbp]
	cmp	DWORD PTR -12[rbp], eax
	jne	.L2292
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L2293
.L2292:
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rcx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
.L2293:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L2294
	call	__stack_chk_fail@PLT
.L2294:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE355:
	.size	Jim_ListRange, .-Jim_ListRange
	.type	JimObjectHTHashFunction, @function
JimObjectHTHashFunction:
.LFB356:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_GenHashFunction
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2297
	call	__stack_chk_fail@PLT
.L2297:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE356:
	.size	JimObjectHTHashFunction, .-JimObjectHTHashFunction
	.type	JimObjectHTKeyCompare, @function
JimObjectHTKeyCompare:
.LFB357:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StringEqObj
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE357:
	.size	JimObjectHTKeyCompare, .-JimObjectHTKeyCompare
	.type	JimObjectHTKeyValDup, @function
JimObjectHTKeyValDup:
.LFB358:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE358:
	.size	JimObjectHTKeyValDup, .-JimObjectHTKeyValDup
	.type	JimObjectHTKeyValDestructor, @function
JimObjectHTKeyValDestructor:
.LFB359:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2304
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2304:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE359:
	.size	JimObjectHTKeyValDestructor, .-JimObjectHTKeyValDestructor
	.section	.data.rel.ro.local
	.align 32
	.type	JimDictHashTableType, @object
	.size	JimDictHashTableType, 48
JimDictHashTableType:
	.quad	JimObjectHTHashFunction
	.quad	JimObjectHTKeyValDup
	.quad	JimObjectHTKeyValDup
	.quad	JimObjectHTKeyCompare
	.quad	JimObjectHTKeyValDestructor
	.quad	JimObjectHTKeyValDestructor
	.section	.rodata
.LC264:
	.string	"dict"
	.section	.data.rel.ro.local
	.align 32
	.type	dictObjType, @object
	.size	dictObjType, 40
dictObjType:
	.quad	.LC264
	.quad	FreeDictInternalRep
	.quad	DupDictInternalRep
	.quad	UpdateStringOfDict
	.long	0
	.zero	4
	.text
	.type	FreeDictInternalRep, @function
FreeDictInternalRep:
.LFB360:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Jim_FreeHashTable
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE360:
	.size	FreeDictInternalRep, .-FreeDictInternalRep
	.type	DupDictInternalRep, @function
DupDictInternalRep:
.LFB361:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	edi, 48
	call	Jim_Alloc
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -64[rbp]
	lea	rsi, JimDictHashTableType[rip]
	mov	rdi, rax
	call	Jim_InitHashTable
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	je	.L2307
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_ExpandHashTable
.L2307:
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimInitHashTableIterator
	jmp	.L2308
.L2309:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AddHashEntry
.L2308:
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	Jim_NextHashEntry
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L2309
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, dictObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2310
	call	__stack_chk_fail@PLT
.L2310:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE361:
	.size	DupDictInternalRep, .-DupDictInternalRep
	.type	JimDictPairs, @function
JimDictPairs:
.LFB362:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 32[rax]
	sal	eax, 4
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -64[rbp], rax
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimInitHashTableIterator
	mov	DWORD PTR -76[rbp], 0
	jmp	.L2312
.L2313:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -76[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR [rdx], rax
.L2312:
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	Jim_NextHashEntry
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L2313
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2315
	call	__stack_chk_fail@PLT
.L2315:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE362:
	.size	JimDictPairs, .-JimDictPairs
	.type	UpdateStringOfDict, @function
UpdateStringOfDict:
.LFB363:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDictPairs
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimMakeListStringRep
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2317
	call	__stack_chk_fail@PLT
.L2317:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE363:
	.size	UpdateStringOfDict, .-UpdateStringOfDict
	.section	.rodata
.LC265:
	.string	"missing value to go with key"
	.text
	.type	SetDictFromAny, @function
SetDictFromAny:
.LFB364:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, dictObjType[rip]
	cmp	rax, rdx
	jne	.L2319
	mov	eax, 0
	jmp	.L2320
.L2319:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_IsList
	test	eax, eax
	je	.L2321
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L2321
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_String
.L2321:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	and	eax, 1
	test	eax, eax
	je	.L2322
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, -1
	lea	rsi, .LC265[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2323
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2323:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L2320
.L2322:
	mov	edi, 48
	call	Jim_Alloc
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, JimDictHashTableType[rip]
	mov	rdi, rax
	call	Jim_InitHashTable
	mov	DWORD PTR -40[rbp], 0
	jmp	.L2324
.L2325:
	mov	edx, DWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, 1[rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ReplaceHashEntry
	add	DWORD PTR -40[rbp], 2
.L2324:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L2325
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2326
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2326
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2326:
	mov	rax, QWORD PTR -64[rbp]
	lea	rdx, dictObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, 0
.L2320:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE364:
	.size	SetDictFromAny, .-SetDictFromAny
	.type	DictAddElement, @function
DictAddElement:
.LFB365:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L2328
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DeleteHashEntry
	jmp	.L2329
.L2328:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ReplaceHashEntry
	mov	eax, 0
.L2329:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE365:
	.size	DictAddElement, .-DictAddElement
	.globl	Jim_DictAddElement
	.type	Jim_DictAddElement, @function
Jim_DictAddElement:
.LFB366:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L2331
	mov	eax, 1
	jmp	.L2332
.L2331:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	DictAddElement
.L2332:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE366:
	.size	Jim_DictAddElement, .-Jim_DictAddElement
	.globl	Jim_NewDictObj
	.type	Jim_NewDictObj, @function
Jim_NewDictObj:
.LFB367:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, dictObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	edi, 48
	call	Jim_Alloc
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -24[rbp]
	lea	rsi, JimDictHashTableType[rip]
	mov	rdi, rax
	call	Jim_InitHashTable
	mov	DWORD PTR -12[rbp], 0
	jmp	.L2334
.L2335:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	DictAddElement
	add	DWORD PTR -12[rbp], 2
.L2334:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L2335
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE367:
	.size	Jim_NewDictObj, .-Jim_NewDictObj
	.section	.rodata
	.align 8
.LC266:
	.string	"key \"%#s\" not known in dictionary"
	.text
	.globl	Jim_DictKey
	.type	Jim_DictKey, @function
Jim_DictKey:
.LFB368:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -52[rbp], r8d
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L2338
	mov	eax, -1
	jmp	.L2339
.L2338:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FindHashEntry
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L2340
	mov	eax, DWORD PTR -52[rbp]
	and	eax, 1
	test	eax, eax
	je	.L2341
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC266[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
.L2341:
	mov	eax, 1
	jmp	.L2339
.L2340:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L2339:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE368:
	.size	Jim_DictKey, .-Jim_DictKey
	.globl	Jim_DictPairs
	.type	Jim_DictPairs, @function
Jim_DictPairs:
.LFB369:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L2343
	mov	eax, 1
	jmp	.L2344
.L2343:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDictPairs
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, 0
.L2344:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE369:
	.size	Jim_DictPairs, .-Jim_DictPairs
	.globl	Jim_DictKeysVector
	.type	Jim_DictKeysVector, @function
Jim_DictKeysVector:
.LFB370:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	QWORD PTR -72[rbp], r8
	mov	DWORD PTR -64[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L2346
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L2347
.L2346:
	mov	DWORD PTR -24[rbp], 0
	jmp	.L2348
.L2350:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	edi, DWORD PTR -64[rbp]
	lea	rcx, -16[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	Jim_DictKey
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L2349
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L2347
.L2349:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -48[rbp], rax
	add	DWORD PTR -24[rbp], 1
.L2348:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L2350
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L2347:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2351
	call	__stack_chk_fail@PLT
.L2351:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE370:
	.size	Jim_DictKeysVector, .-Jim_DictKeysVector
	.globl	Jim_SetDictKeysVector
	.type	Jim_SetDictKeysVector, @function
Jim_SetDictKeysVector:
.LFB371:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	DWORD PTR -76[rbp], ecx
	mov	QWORD PTR -88[rbp], r8
	mov	DWORD PTR -80[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jne	.L2353
	cmp	QWORD PTR -88[rbp], 0
	jne	.L2354
	mov	eax, DWORD PTR -80[rbp]
	and	eax, 8
	test	eax, eax
	je	.L2354
	mov	eax, 1
	jmp	.L2371
.L2354:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewDictObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L2353
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 1
	jmp	.L2371
.L2353:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	setg	al
	movzx	eax, al
	mov	DWORD PTR -44[rbp], eax
	cmp	DWORD PTR -44[rbp], 0
	je	.L2356
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L2356:
	mov	DWORD PTR -48[rbp], 0
	jmp	.L2357
.L2367:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	jne	.L2373
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 1
	cmp	DWORD PTR -48[rbp], eax
	jne	.L2360
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_DictAddElement
	test	eax, eax
	je	.L2374
	cmp	QWORD PTR -88[rbp], 0
	jne	.L2375
	mov	eax, DWORD PTR -80[rbp]
	and	eax, 8
	test	eax, eax
	je	.L2374
	jmp	.L2375
.L2360:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	cmp	QWORD PTR -88[rbp], 0
	sete	al
	movzx	edi, al
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rcx, -40[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	Jim_DictKey
	test	eax, eax
	jne	.L2364
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L2365
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -40[rbp], rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	DictAddElement
	jmp	.L2365
.L2364:
	cmp	QWORD PTR -88[rbp], 0
	je	.L2376
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewDictObj
	mov	QWORD PTR -40[rbp], rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	DictAddElement
.L2365:
	add	DWORD PTR -48[rbp], 1
.L2357:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L2367
	jmp	.L2363
.L2374:
	nop
.L2363:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	jne	.L2377
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2369
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2369:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L2371
.L2373:
	nop
	jmp	.L2359
.L2375:
	nop
	jmp	.L2359
.L2376:
	nop
	jmp	.L2359
.L2377:
	nop
.L2359:
	cmp	DWORD PTR -44[rbp], 0
	je	.L2370
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2370:
	mov	eax, 1
.L2371:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2372
	call	__stack_chk_fail@PLT
.L2372:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE371:
	.size	Jim_SetDictKeysVector, .-Jim_SetDictKeysVector
	.section	.rodata
.LC267:
	.string	"index"
	.section	.data.rel.ro.local
	.align 32
	.type	indexObjType, @object
	.size	indexObjType, 40
indexObjType:
	.quad	.LC267
	.quad	0
	.quad	0
	.quad	UpdateStringOfIndex
	.long	0
	.zero	4
	.section	.rodata
.LC268:
	.string	"end%d"
	.text
	.type	UpdateStringOfIndex, @function
UpdateStringOfIndex:
.LFB372:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, -1
	jne	.L2379
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	JimSetStringBytes
	jmp	.L2384
.L2379:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	js	.L2381
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR 24[rax]
	lea	rax, -48[rbp]
	lea	rsi, .LC139[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	jmp	.L2382
.L2381:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	lea	rax, -48[rbp]
	lea	rsi, .LC268[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
.L2382:
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStringBytes
.L2384:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2383
	call	__stack_chk_fail@PLT
.L2383:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE372:
	.size	UpdateStringOfIndex, .-UpdateStringOfIndex
	.section	.rodata
	.align 8
.LC269:
	.string	"bad index \"%#s\": must be integer?[+-]integer? or end?[+-]integer?"
	.text
	.type	SetIndexFromAny, @function
SetIndexFromAny:
.LFB373:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, 3
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L2386
	mov	DWORD PTR -48[rbp], 1
	add	QWORD PTR -32[rbp], 3
	mov	DWORD PTR -52[rbp], 0
	jmp	.L2387
.L2386:
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtol
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	cmp	QWORD PTR -32[rbp], rax
	je	.L2406
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L2387:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L2390
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2396
.L2390:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	jne	.L2392
	mov	eax, 1
	jmp	.L2393
.L2392:
	mov	eax, -1
.L2393:
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rbx, eax
	add	QWORD PTR -32[rbp], 1
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtol
	imul	rax, rbx
	mov	edx, eax
	mov	eax, DWORD PTR -52[rbp]
	add	eax, edx
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	cmp	QWORD PTR -32[rbp], rax
	je	.L2407
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2407
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L2396
.L2397:
	add	QWORD PTR -32[rbp], 1
.L2396:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2397
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2408
	cmp	DWORD PTR -48[rbp], 0
	je	.L2399
	cmp	DWORD PTR -52[rbp], 0
	jle	.L2400
	mov	DWORD PTR -52[rbp], 2147483647
	jmp	.L2401
.L2400:
	sub	DWORD PTR -52[rbp], 1
	jmp	.L2401
.L2399:
	cmp	DWORD PTR -52[rbp], 0
	jns	.L2401
	mov	DWORD PTR -52[rbp], -2147483647
.L2401:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2402
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2402
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2402:
	mov	rax, QWORD PTR -80[rbp]
	lea	rdx, indexObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, 0
	jmp	.L2404
.L2406:
	nop
	jmp	.L2389
.L2407:
	nop
	jmp	.L2389
.L2408:
	nop
.L2389:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC269[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
.L2404:
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2405
	call	__stack_chk_fail@PLT
.L2405:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE373:
	.size	SetIndexFromAny, .-SetIndexFromAny
	.globl	Jim_GetIndex
	.type	Jim_GetIndex, @function
Jim_GetIndex:
.LFB374:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	jne	.L2410
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L2411
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], -2147483647
	jmp	.L2412
.L2411:
	mov	eax, 2147483648
	cmp	QWORD PTR -8[rbp], rax
	jl	.L2413
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], 2147483647
	jmp	.L2412
.L2413:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L2412:
	mov	eax, 0
	jmp	.L2414
.L2410:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, indexObjType[rip]
	cmp	rax, rdx
	je	.L2415
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetIndexFromAny
	cmp	eax, 1
	jne	.L2415
	mov	eax, 1
	jmp	.L2414
.L2415:
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
.L2414:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE374:
	.size	Jim_GetIndex, .-Jim_GetIndex
	.section	.rodata
.LC270:
	.string	"ok"
.LC271:
	.string	"error"
.LC272:
	.string	"return"
.LC273:
	.string	"break"
.LC274:
	.string	"continue"
.LC275:
	.string	"signal"
.LC276:
	.string	"exit"
.LC277:
	.string	"eval"
	.section	.data.rel.ro.local
	.align 32
	.type	jimReturnCodes, @object
	.size	jimReturnCodes, 72
jimReturnCodes:
	.quad	.LC270
	.quad	.LC271
	.quad	.LC272
	.quad	.LC273
	.quad	.LC274
	.quad	.LC275
	.quad	.LC276
	.quad	.LC277
	.quad	0
	.section	.rodata
.LC278:
	.string	"return-code"
	.section	.data.rel.ro.local
	.align 32
	.type	returnCodeObjType, @object
	.size	returnCodeObjType, 40
returnCodeObjType:
	.quad	.LC278
	.quad	0
	.quad	0
	.quad	0
	.long	0
	.zero	4
	.section	.rodata
.LC279:
	.string	"?"
	.text
	.globl	Jim_ReturnCode
	.type	Jim_ReturnCode, @function
Jim_ReturnCode:
.LFB375:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 0
	js	.L2417
	cmp	DWORD PTR -4[rbp], 8
	jle	.L2418
.L2417:
	lea	rax, .LC279[rip]
	jmp	.L2419
.L2418:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, jimReturnCodes[rip]
	mov	rax, QWORD PTR [rdx+rax]
.L2419:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE375:
	.size	Jim_ReturnCode, .-Jim_ReturnCode
	.section	.rodata
	.align 8
.LC280:
	.string	"expected return code but got \"%#s\""
	.text
	.type	SetReturnCodeFromAny, @function
SetReturnCodeFromAny:
.LFB376:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGetWideNoErr
	cmp	eax, 1
	je	.L2421
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L2422
.L2421:
	lea	rdx, -20[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9d, 0
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, jimReturnCodes[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L2422
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC280[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L2425
.L2422:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2424
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2424
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2424:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, returnCodeObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, 0
.L2425:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2426
	call	__stack_chk_fail@PLT
.L2426:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE376:
	.size	SetReturnCodeFromAny, .-SetReturnCodeFromAny
	.globl	Jim_GetReturnCode
	.type	Jim_GetReturnCode, @function
Jim_GetReturnCode:
.LFB377:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, returnCodeObjType[rip]
	cmp	rax, rdx
	je	.L2428
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetReturnCodeFromAny
	cmp	eax, 1
	jne	.L2428
	mov	eax, 1
	jmp	.L2429
.L2428:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
.L2429:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE377:
	.size	Jim_GetReturnCode, .-Jim_GetReturnCode
	.type	ExprPush, @function
ExprPush:
.LFB378:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rdx], ecx
	cdqe
	sal	rax, 3
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE378:
	.size	ExprPush, .-ExprPush
	.type	ExprPop, @function
ExprPop:
.LFB379:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE379:
	.size	ExprPop, .-ExprPop
	.type	JimExprOpNumUnary, @function
JimExprOpNumUnary:
.LFB380:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -56[rbp], 1
	mov	DWORD PTR -52[rbp], 0
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, doubleObjType[rip]
	cmp	rax, rdx
	jne	.L2434
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2435
.L2434:
	lea	rdx, -40[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGetWideNoErr
	test	eax, eax
	jne	.L2435
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 55
	cmp	eax, 8
	ja	.L2436
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2438[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2438[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2438:
	.long	.L2442-.L2438
	.long	.L2436-.L2438
	.long	.L2441-.L2438
	.long	.L2437-.L2438
	.long	.L2437-.L2438
	.long	.L2437-.L2438
	.long	.L2440-.L2438
	.long	.L2439-.L2438
	.long	.L2437-.L2438
	.text
.L2437:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2443
.L2439:
	mov	rax, QWORD PTR -40[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -32[rbp], xmm0
	mov	DWORD PTR -56[rbp], 0
	jmp	.L2443
.L2440:
	mov	rax, QWORD PTR -40[rbp]
	cqo
	xor	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	sub	QWORD PTR -24[rbp], rdx
	jmp	.L2443
.L2441:
	mov	rax, QWORD PTR -40[rbp]
	neg	rax
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2443
.L2442:
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	sete	al
	movzx	eax, al
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2443
.L2436:
	call	abort@PLT
.L2443:
	jmp	.L2444
.L2435:
	lea	rdx, -48[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jne	.L2468
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 55
	cmp	eax, 8
	ja	.L2445
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2447[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2447[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2447:
	.long	.L2452-.L2447
	.long	.L2445-.L2447
	.long	.L2451-.L2447
	.long	.L2448-.L2447
	.long	.L2450-.L2447
	.long	.L2450-.L2447
	.long	.L2449-.L2447
	.long	.L2448-.L2447
	.long	.L2446-.L2447
	.text
.L2450:
	movsd	xmm0, QWORD PTR -48[rbp]
	cvttsd2si	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2444
.L2446:
	movsd	xmm1, QWORD PTR -48[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L2466
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR .LC281[rip]
	subsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
	jmp	.L2455
.L2466:
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC281[rip]
	addsd	xmm0, xmm1
	cvttsd2si	rax, xmm0
.L2455:
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2444
.L2448:
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	mov	DWORD PTR -56[rbp], 0
	jmp	.L2444
.L2449:
	movsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L2467
	movsd	xmm0, QWORD PTR -48[rbp]
	jmp	.L2458
.L2467:
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC282[rip]
	xorpd	xmm0, xmm1
.L2458:
	movsd	QWORD PTR -32[rbp], xmm0
	mov	DWORD PTR -56[rbp], 0
	jmp	.L2444
.L2451:
	movsd	xmm0, QWORD PTR -48[rbp]
	movq	xmm1, QWORD PTR .LC282[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	DWORD PTR -56[rbp], 0
	jmp	.L2444
.L2452:
	movsd	xmm0, QWORD PTR -48[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	setnp	al
	mov	edx, 0
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	eax, al
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2444
.L2445:
	call	abort@PLT
.L2468:
	nop
.L2444:
	cmp	DWORD PTR -52[rbp], 0
	jne	.L2459
	cmp	DWORD PTR -56[rbp], 0
	je	.L2460
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2459
.L2460:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
.L2459:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2461
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2461:
	mov	eax, DWORD PTR -52[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2463
	call	__stack_chk_fail@PLT
.L2463:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE380:
	.size	JimExprOpNumUnary, .-JimExprOpNumUnary
	.type	JimRandDouble, @function
JimRandDouble:
.LFB381:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rcx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	JimRandomBytes
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	js	.L2470
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L2471
.L2470:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L2471:
	movsd	xmm1, QWORD PTR .LC283[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2473
	call	__stack_chk_fail@PLT
.L2473:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE381:
	.size	JimRandDouble, .-JimRandDouble
	.type	JimExprOpIntUnary, @function
JimExprOpIntUnary:
.LFB382:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	lea	rdx, -24[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jne	.L2483
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 56
	je	.L2476
	cmp	eax, 65
	je	.L2477
	jmp	.L2482
.L2476:
	mov	rax, QWORD PTR -24[rbp]
	not	rax
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2475
.L2477:
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	JimPrngSeed
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	JimRandDouble
	movq	rax, xmm0
	mov	rdx, QWORD PTR -40[rbp]
	movq	xmm0, rax
	mov	rdi, rdx
	call	Jim_NewDoubleObj
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2475
.L2482:
	call	abort@PLT
.L2483:
	nop
.L2475:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2479
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2479:
	mov	eax, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2481
	call	__stack_chk_fail@PLT
.L2481:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE382:
	.size	JimExprOpIntUnary, .-JimExprOpIntUnary
	.type	JimExprOpNone, @function
JimExprOpNone:
.LFB383:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimRandDouble
	movq	rax, xmm0
	mov	rdx, QWORD PTR -8[rbp]
	movq	xmm0, rax
	mov	rdi, rdx
	call	Jim_NewDoubleObj
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE383:
	.size	JimExprOpNone, .-JimExprOpNone
	.section	.rodata
.LC284:
	.string	"Division by zero"
	.text
	.type	JimExprOpIntBin, @function
JimExprOpIntBin:
.LFB384:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -84[rbp], 1
	lea	rdx, -72[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L2487
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L2487
	mov	DWORD PTR -84[rbp], 0
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 22
	cmp	eax, 15
	ja	.L2488
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2490[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2490[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2490:
	.long	.L2496-.L2490
	.long	.L2488-.L2490
	.long	.L2488-.L2490
	.long	.L2495-.L2490
	.long	.L2494-.L2490
	.long	.L2493-.L2490
	.long	.L2493-.L2490
	.long	.L2488-.L2490
	.long	.L2488-.L2490
	.long	.L2488-.L2490
	.long	.L2488-.L2490
	.long	.L2488-.L2490
	.long	.L2488-.L2490
	.long	.L2492-.L2490
	.long	.L2491-.L2490
	.long	.L2489-.L2490
	.text
.L2495:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	ecx, edx
	sal	rax, cl
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2497
.L2494:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	ecx, edx
	sar	rax, cl
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2497
.L2492:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	and	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2497
.L2491:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	xor	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2497
.L2489:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	or	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2497
.L2496:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L2498
	mov	QWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, -1
	lea	rsi, .LC284[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2499
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2499:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -84[rbp], 1
	jmp	.L2508
.L2498:
	mov	DWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jns	.L2501
	mov	rax, QWORD PTR -64[rbp]
	neg	rax
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	neg	rax
	mov	QWORD PTR -72[rbp], rax
	mov	DWORD PTR -80[rbp], 1
.L2501:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	cqo
	idiv	rcx
	mov	QWORD PTR -56[rbp], rdx
	cmp	QWORD PTR -56[rbp], 0
	jns	.L2502
	mov	rax, QWORD PTR -64[rbp]
	add	QWORD PTR -56[rbp], rax
.L2502:
	cmp	DWORD PTR -80[rbp], 0
	je	.L2508
	neg	QWORD PTR -56[rbp]
	jmp	.L2508
.L2493:
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -76[rbp], 64
	mov	ecx, DWORD PTR -76[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 0
	div	rcx
	mov	QWORD PTR -48[rbp], rdx
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 28
	jne	.L2503
	mov	eax, DWORD PTR -76[rbp]
	sub	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -48[rbp], rax
.L2503:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, edx
	sal	rax, cl
	mov	rsi, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, edx
	mov	rdx, QWORD PTR -24[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	or	rax, rsi
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2497
.L2488:
	call	abort@PLT
.L2508:
	nop
.L2497:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
.L2487:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2504
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2504:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2505
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2505:
	mov	eax, DWORD PTR -84[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2507
	call	__stack_chk_fail@PLT
.L2507:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE384:
	.size	JimExprOpIntBin, .-JimExprOpIntBin
	.section	.rodata
.LC285:
	.string	"unsupported"
	.text
	.type	JimExprOpBin, @function
JimExprOpBin:
.LFB385:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -100[rbp], 1
	mov	DWORD PTR -96[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	mov	QWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, doubleObjType[rip]
	cmp	rax, rdx
	jne	.L2510
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2511
.L2510:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, doubleObjType[rip]
	cmp	rax, rdx
	jne	.L2512
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2511
.L2512:
	lea	rdx, -72[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGetWideNoErr
	test	eax, eax
	jne	.L2511
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGetWideNoErr
	test	eax, eax
	jne	.L2511
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 20
	cmp	eax, 61
	ja	.L2513
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2515[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2515[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2515:
	.long	.L2525-.L2515
	.long	.L2524-.L2515
	.long	.L2513-.L2515
	.long	.L2523-.L2515
	.long	.L2522-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2521-.L2515
	.long	.L2520-.L2515
	.long	.L2519-.L2515
	.long	.L2518-.L2515
	.long	.L2517-.L2515
	.long	.L2516-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2514-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2513-.L2515
	.long	.L2514-.L2515
	.text
.L2514:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimPowWide
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2522:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2523:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	sub	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2525:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	imul	rax, rdx
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2524:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jne	.L2527
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	lea	rsi, .LC284[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2528
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2528:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -96[rbp], 1
	jmp	.L2571
.L2527:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jns	.L2530
	mov	rax, QWORD PTR -64[rbp]
	neg	rax
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	neg	rax
	mov	QWORD PTR -72[rbp], rax
.L2530:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	cqo
	idiv	rcx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	cqo
	idiv	rcx
	mov	rax, rdx
	test	rax, rax
	jns	.L2571
	sub	QWORD PTR -48[rbp], 1
	jmp	.L2571
.L2521:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	setl	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2520:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	setg	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2519:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	setle	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2518:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	setge	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2517:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	sete	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2516:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	setne	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2526
.L2513:
	call	abort@PLT
.L2571:
	nop
.L2526:
	jmp	.L2531
.L2511:
	lea	rdx, -88[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	jne	.L2532
	lea	rdx, -80[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	jne	.L2532
	mov	DWORD PTR -100[rbp], 0
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 20
	cmp	eax, 61
	ja	.L2533
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2535[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2535[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2535:
	.long	.L2545-.L2535
	.long	.L2544-.L2535
	.long	.L2533-.L2535
	.long	.L2543-.L2535
	.long	.L2542-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2541-.L2535
	.long	.L2540-.L2535
	.long	.L2539-.L2535
	.long	.L2538-.L2535
	.long	.L2537-.L2535
	.long	.L2536-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2534-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2533-.L2535
	.long	.L2534-.L2535
	.text
.L2534:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	lea	rsi, .LC285[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2546
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2546:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -96[rbp], 1
	jmp	.L2547
.L2542:
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L2547
.L2543:
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L2547
.L2545:
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L2547
.L2544:
	movsd	xmm0, QWORD PTR -80[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jp	.L2548
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	jne	.L2548
	movsd	xmm1, QWORD PTR -88[rbp]
	pxor	xmm0, xmm0
	comisd	xmm0, xmm1
	jbe	.L2570
	movsd	xmm0, QWORD PTR .LC286[rip]
	jmp	.L2552
.L2570:
	movsd	xmm0, QWORD PTR .LC287[rip]
.L2552:
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L2547
.L2548:
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L2547
.L2541:
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -100[rbp], 1
	jmp	.L2547
.L2540:
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	comisd	xmm0, xmm1
	seta	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -100[rbp], 1
	jmp	.L2547
.L2539:
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	comisd	xmm0, xmm1
	setnb	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -100[rbp], 1
	jmp	.L2547
.L2538:
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	comisd	xmm0, xmm1
	setnb	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -100[rbp], 1
	jmp	.L2547
.L2537:
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	ucomisd	xmm0, xmm1
	setnp	al
	mov	edx, 0
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -100[rbp], 1
	jmp	.L2547
.L2536:
	movsd	xmm0, QWORD PTR -88[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	ucomisd	xmm0, xmm1
	setp	al
	mov	edx, 1
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -100[rbp], 1
	jmp	.L2547
.L2533:
	call	abort@PLT
.L2547:
	jmp	.L2531
.L2532:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_StringCompareObj
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 29
	cmp	eax, 5
	ja	.L2554
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2556[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2556[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2556:
	.long	.L2561-.L2556
	.long	.L2560-.L2556
	.long	.L2559-.L2556
	.long	.L2558-.L2556
	.long	.L2557-.L2556
	.long	.L2555-.L2556
	.text
.L2561:
	mov	eax, DWORD PTR -92[rbp]
	shr	eax, 31
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2531
.L2560:
	cmp	DWORD PTR -92[rbp], 0
	setg	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2531
.L2559:
	cmp	DWORD PTR -92[rbp], 0
	setle	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2531
.L2558:
	mov	eax, DWORD PTR -92[rbp]
	not	eax
	shr	eax, 31
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2531
.L2557:
	cmp	DWORD PTR -92[rbp], 0
	sete	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2531
.L2555:
	cmp	DWORD PTR -92[rbp], 0
	setne	al
	movzx	eax, al
	mov	QWORD PTR -48[rbp], rax
	jmp	.L2531
.L2554:
	mov	DWORD PTR -96[rbp], 1
	nop
.L2531:
	cmp	DWORD PTR -96[rbp], 0
	jne	.L2562
	cmp	DWORD PTR -100[rbp], 0
	je	.L2563
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2562
.L2563:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -120[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
.L2562:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2564
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2564:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2565
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2565:
	mov	eax, DWORD PTR -96[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2567
	call	__stack_chk_fail@PLT
.L2567:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE385:
	.size	JimExprOpBin, .-JimExprOpBin
	.type	JimSearchList, @function
JimSearchList:
.LFB386:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L2573
.L2576:
	mov	edx, DWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_StringEqObj
	test	eax, eax
	je	.L2574
	mov	eax, 1
	jmp	.L2575
.L2574:
	add	DWORD PTR -8[rbp], 1
.L2573:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L2576
	mov	eax, 0
.L2575:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE386:
	.size	JimSearchList, .-JimSearchList
	.type	JimExprOpStrBin, @function
JimExprOpStrBin:
.LFB387:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 54
	je	.L2578
	cmp	eax, 54
	jg	.L2579
	cmp	eax, 52
	jg	.L2580
	cmp	eax, 51
	jge	.L2581
	jmp	.L2579
.L2580:
	cmp	eax, 53
	je	.L2582
	jmp	.L2579
.L2581:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StringEqObj
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 52
	jne	.L2588
	cmp	QWORD PTR -24[rbp], 0
	sete	al
	movzx	eax, al
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2588
.L2582:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimSearchList
	cdqe
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2584
.L2578:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimSearchList
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2584
.L2579:
	call	abort@PLT
.L2588:
	nop
.L2584:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2585
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2585:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2586
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2586:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE387:
	.size	JimExprOpStrBin, .-JimExprOpStrBin
	.type	ExprBool, @function
ExprBool:
.LFB388:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -24[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L2590
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	setne	al
	movzx	eax, al
	jmp	.L2593
.L2590:
	lea	rdx, -16[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	jne	.L2592
	movsd	xmm0, QWORD PTR -16[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	setp	al
	mov	edx, 1
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	eax, al
	jmp	.L2593
.L2592:
	mov	eax, -1
.L2593:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2594
	call	__stack_chk_fail@PLT
.L2594:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE388:
	.size	ExprBool, .-ExprBool
	.type	JimExprOpAndLeft, @function
JimExprOpAndLeft:
.LFB389:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprBool
	cmp	eax, 1
	je	.L2602
	cmp	eax, 1
	jg	.L2597
	cmp	eax, -1
	je	.L2598
	test	eax, eax
	jne	.L2597
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2597
.L2598:
	mov	DWORD PTR -20[rbp], 1
	jmp	.L2597
.L2602:
	nop
.L2597:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2599
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2599:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2600
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2600:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE389:
	.size	JimExprOpAndLeft, .-JimExprOpAndLeft
	.type	JimExprOpOrLeft, @function
JimExprOpOrLeft:
.LFB390:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprBool
	cmp	eax, 1
	je	.L2604
	cmp	eax, 1
	jg	.L2605
	cmp	eax, -1
	je	.L2606
	test	eax, eax
	jmp	.L2605
.L2604:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2605
.L2606:
	mov	DWORD PTR -20[rbp], 1
	nop
.L2605:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2607
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2607:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2608
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2608:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE390:
	.size	JimExprOpOrLeft, .-JimExprOpOrLeft
	.type	JimExprOpAndOrRight, @function
JimExprOpAndOrRight:
.LFB391:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprBool
	cmp	eax, 1
	je	.L2611
	cmp	eax, 1
	jg	.L2612
	cmp	eax, -1
	je	.L2613
	test	eax, eax
	jne	.L2612
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2612
.L2611:
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2612
.L2613:
	mov	DWORD PTR -12[rbp], 1
	nop
.L2612:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2614
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2614:
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE391:
	.size	JimExprOpAndOrRight, .-JimExprOpAndOrRight
	.type	JimExprOpTernaryLeft, @function
JimExprOpTernaryLeft:
.LFB392:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprBool
	cmp	eax, 1
	je	.L2623
	cmp	eax, 1
	jg	.L2618
	cmp	eax, -1
	je	.L2619
	test	eax, eax
	jne	.L2618
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2618
.L2619:
	mov	DWORD PTR -20[rbp], 1
	jmp	.L2618
.L2623:
	nop
.L2618:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2620
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2620:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2621
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2621:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE392:
	.size	JimExprOpTernaryLeft, .-JimExprOpTernaryLeft
	.type	JimExprOpColonLeft, @function
JimExprOpColonLeft:
.LFB393:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprBool
	test	eax, eax
	je	.L2625
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
.L2625:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2626
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2626:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2627
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2627:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2628
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2628:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE393:
	.size	JimExprOpColonLeft, .-JimExprOpColonLeft
	.type	JimExprOpNull, @function
JimExprOpNull:
.LFB394:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE394:
	.size	JimExprOpNull, .-JimExprOpNull
	.section	.rodata
.LC288:
	.string	"%"
.LC289:
	.string	"-"
.LC290:
	.string	"+"
.LC291:
	.string	"<<"
.LC292:
	.string	">>"
.LC293:
	.string	"<<<"
.LC294:
	.string	">>>"
.LC295:
	.string	"<"
.LC296:
	.string	">"
.LC297:
	.string	"<="
.LC298:
	.string	">="
.LC299:
	.string	"=="
.LC300:
	.string	"!="
.LC301:
	.string	"^"
.LC302:
	.string	"&&"
.LC303:
	.string	"||"
.LC304:
	.string	"**"
.LC305:
	.string	"eq"
.LC306:
	.string	"ne"
.LC307:
	.string	"in"
.LC308:
	.string	"ni"
.LC309:
	.string	"!"
.LC310:
	.string	"~"
.LC311:
	.string	"wide"
.LC312:
	.string	"abs"
.LC313:
	.string	"round"
.LC314:
	.string	"rand"
.LC315:
	.string	"srand"
	.section	.data.rel.ro.local
	.align 32
	.type	Jim_ExprOperators, @object
	.size	Jim_ExprOperators, 1104
Jim_ExprOperators:
	.quad	.LC176
	.quad	JimExprOpBin
	.byte	110
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC52
	.quad	JimExprOpBin
	.byte	110
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC288
	.quad	JimExprOpIntBin
	.byte	110
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC289
	.quad	JimExprOpBin
	.byte	100
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC290
	.quad	JimExprOpBin
	.byte	100
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC291
	.quad	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC292
	.quad	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC293
	.quad	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	3
	.zero	4
	.quad	.LC294
	.quad	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	3
	.zero	4
	.quad	.LC295
	.quad	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC296
	.quad	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC297
	.quad	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC298
	.quad	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC299
	.quad	JimExprOpBin
	.byte	70
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC300
	.quad	JimExprOpBin
	.byte	70
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC148
	.quad	JimExprOpIntBin
	.byte	50
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC301
	.quad	JimExprOpIntBin
	.byte	49
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC151
	.quad	JimExprOpIntBin
	.byte	48
	.byte	2
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC302
	.quad	0
	.byte	10
	.byte	2
	.byte	1
	.byte	2
	.zero	4
	.quad	0
	.quad	JimExprOpAndLeft
	.byte	10
	.byte	2
	.byte	2
	.byte	7
	.zero	4
	.quad	0
	.quad	JimExprOpAndOrRight
	.byte	10
	.byte	2
	.byte	3
	.byte	7
	.zero	4
	.quad	.LC303
	.quad	0
	.byte	9
	.byte	2
	.byte	1
	.byte	2
	.zero	4
	.quad	0
	.quad	JimExprOpOrLeft
	.byte	9
	.byte	2
	.byte	2
	.byte	7
	.zero	4
	.quad	0
	.quad	JimExprOpAndOrRight
	.byte	9
	.byte	2
	.byte	3
	.byte	7
	.zero	4
	.quad	.LC279
	.quad	JimExprOpNull
	.byte	5
	.byte	2
	.byte	1
	.byte	1
	.zero	4
	.quad	0
	.quad	JimExprOpTernaryLeft
	.byte	5
	.byte	2
	.byte	2
	.byte	7
	.zero	4
	.quad	0
	.quad	JimExprOpNull
	.byte	5
	.byte	2
	.byte	3
	.byte	7
	.zero	4
	.quad	.LC240
	.quad	JimExprOpNull
	.byte	5
	.byte	2
	.byte	1
	.byte	1
	.zero	4
	.quad	0
	.quad	JimExprOpColonLeft
	.byte	5
	.byte	2
	.byte	2
	.byte	7
	.zero	4
	.quad	0
	.quad	JimExprOpNull
	.byte	5
	.byte	2
	.byte	3
	.byte	7
	.zero	4
	.quad	.LC304
	.quad	JimExprOpBin
	.byte	-6
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC305
	.quad	JimExprOpStrBin
	.byte	60
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC306
	.quad	JimExprOpStrBin
	.byte	60
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC307
	.quad	JimExprOpStrBin
	.byte	55
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC308
	.quad	JimExprOpStrBin
	.byte	55
	.byte	2
	.byte	0
	.byte	2
	.zero	4
	.quad	.LC309
	.quad	JimExprOpNumUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	1
	.zero	4
	.quad	.LC310
	.quad	JimExprOpIntUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	1
	.zero	4
	.quad	0
	.quad	JimExprOpNumUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	7
	.zero	4
	.quad	0
	.quad	JimExprOpNumUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	7
	.zero	4
	.quad	.LC250
	.quad	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	3
	.zero	4
	.quad	.LC311
	.quad	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	4
	.zero	4
	.quad	.LC312
	.quad	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	3
	.zero	4
	.quad	.LC254
	.quad	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	6
	.zero	4
	.quad	.LC313
	.quad	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	5
	.zero	4
	.quad	.LC314
	.quad	JimExprOpNone
	.byte	-56
	.byte	0
	.byte	0
	.byte	4
	.zero	4
	.quad	.LC315
	.quad	JimExprOpIntUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	5
	.zero	4
	.text
	.type	JimParseExpression, @function
JimParseExpression:
.LFB395:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	jmp	.L2633
.L2635:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L2634
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
.L2634:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L2633:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2635
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L2636
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	je	.L2635
.L2636:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L2637
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 7
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 1
	mov	eax, 0
	jmp	.L2638
.L2637:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 34
	cmp	eax, 89
	ja	.L2639
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2641[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2641[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2641:
	.long	.L2649-.L2641
	.long	.L2639-.L2641
	.long	.L2648-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2647-.L2641
	.long	.L2646-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2645-.L2641
	.long	.L2639-.L2641
	.long	.L2644-.L2641
	.long	.L2639-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2644-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2642-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2642-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2643-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2642-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2642-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2639-.L2641
	.long	.L2640-.L2641
	.text
.L2647:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 11
	jmp	.L2650
.L2646:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 12
	jmp	.L2650
.L2645:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 13
.L2650:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L2651
.L2643:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseCmd
	jmp	.L2638
.L2648:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseVar
	cmp	eax, 1
	jne	.L2652
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseExprOperator
	jmp	.L2638
.L2652:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 36[rax]
	cmp	eax, 16
	jne	.L2653
	mov	eax, 1
	jmp	.L2638
.L2653:
	mov	eax, 0
	jmp	.L2638
.L2644:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseExprNumber
	jmp	.L2638
.L2649:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseQuote
	jmp	.L2638
.L2640:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseBrace
	jmp	.L2638
.L2642:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseExprIrrational
	cmp	eax, 1
	jne	.L2655
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseExprOperator
	jmp	.L2638
.L2639:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseExprOperator
	jmp	.L2638
.L2655:
	nop
.L2651:
	mov	eax, 0
.L2638:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE395:
	.size	JimParseExpression, .-JimParseExpression
	.section	.rodata
.LC316:
	.string	"eENnIi."
	.text
	.type	JimParseExprNumber, @function
JimParseExprNumber:
.LFB396:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 14
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtoull
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC316[rip]
	call	strchr@PLT
	test	rax, rax
	jne	.L2657
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	rdx, rax
	jne	.L2658
.L2657:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	cmp	rdx, rax
	jne	.L2659
	mov	eax, 1
	jmp	.L2661
.L2659:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	cmp	rdx, rax
	jnb	.L2658
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 36[rax], 15
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L2658:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, rdx
	sub	rax, rcx
	mov	edx, eax
	mov	eax, esi
	sub	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 0
.L2661:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2662
	call	__stack_chk_fail@PLT
.L2662:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE396:
	.size	JimParseExprNumber, .-JimParseExprNumber
	.section	.rodata
.LC317:
	.string	"nan"
.LC318:
	.string	"NAN"
.LC319:
	.string	"inf"
.LC320:
	.string	"INF"
	.text
	.type	JimParseExprIrrational, @function
JimParseExprIrrational:
.LFB397:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, .LC255[rip]
	mov	QWORD PTR -64[rbp], rax
	lea	rax, .LC317[rip]
	mov	QWORD PTR -56[rbp], rax
	lea	rax, .LC318[rip]
	mov	QWORD PTR -48[rbp], rax
	lea	rax, .LC259[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, .LC319[rip]
	mov	QWORD PTR -32[rbp], rax
	lea	rax, .LC320[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -16[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	jmp	.L2664
.L2667:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	mov	rax, QWORD PTR -64[rbp+rax*8]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 3
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L2665
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 3[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 36[rax], 15
	mov	eax, 0
	jmp	.L2668
.L2665:
	add	DWORD PTR -76[rbp], 1
.L2664:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	mov	rax, QWORD PTR -64[rbp+rax*8]
	test	rax, rax
	jne	.L2667
	mov	eax, 1
.L2668:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2669
	call	__stack_chk_fail@PLT
.L2669:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE397:
	.size	JimParseExprIrrational, .-JimParseExprIrrational
	.type	JimParseExprOperator, @function
JimParseExprOperator:
.LFB398:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -32[rbp], -1
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	jmp	.L2671
.L2675:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, Jim_ExprOperators[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, Jim_ExprOperators[rip+19]
	movzx	eax, BYTE PTR [rdx+rax]
	movzx	eax, al
	mov	DWORD PTR -20[rbp], eax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2682
	mov	rax, QWORD PTR -8[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L2682
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jle	.L2674
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L2674
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 20
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L2674
.L2682:
	nop
.L2674:
	add	DWORD PTR -36[rbp], 1
.L2671:
	cmp	DWORD PTR -36[rbp], 45
	jle	.L2675
	cmp	DWORD PTR -32[rbp], -1
	jne	.L2676
	mov	eax, 1
	jmp	.L2677
.L2676:
	cmp	DWORD PTR -32[rbp], 58
	jle	.L2678
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L2679
.L2681:
	sub	DWORD PTR -24[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L2679:
	cmp	DWORD PTR -24[rbp], 0
	je	.L2680
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2681
.L2680:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 40
	je	.L2678
	mov	eax, 1
	jmp	.L2677
.L2678:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sub	rax, 1
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -32[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	eax, 0
.L2677:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE398:
	.size	JimParseExprOperator, .-JimParseExprOperator
	.type	JimExprOperatorInfoByOpcode, @function
JimExprOperatorInfoByOpcode:
.LFB399:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 19
	jg	.L2684
	lea	rax, dummy_op.16[rip]
	jmp	.L2685
.L2684:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 20
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	lea	rdx, Jim_ExprOperators[rip]
	add	rax, rdx
.L2685:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE399:
	.size	JimExprOperatorInfoByOpcode, .-JimExprOperatorInfoByOpcode
	.section	.rodata
.LC321:
	.string	"(%d)"
	.text
	.globl	jim_tt_name
	.type	jim_tt_name, @function
jim_tt_name:
.LFB400:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 19
	jg	.L2687
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, tt_names.15[rip]
	mov	rax, QWORD PTR [rdx+rax]
	jmp	.L2688
.L2687:
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L2689
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L2688
.L2689:
	mov	eax, DWORD PTR -20[rbp]
	mov	edx, eax
	lea	rsi, .LC321[rip]
	lea	rdi, buf.14[rip]
	mov	eax, 0
	call	sprintf@PLT
	lea	rax, buf.14[rip]
.L2688:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE400:
	.size	jim_tt_name, .-jim_tt_name
	.section	.rodata
.LC322:
	.string	"expression"
	.section	.data.rel.ro.local
	.align 32
	.type	exprObjType, @object
	.size	exprObjType, 40
exprObjType:
	.quad	.LC322
	.quad	FreeExprInternalRep
	.quad	DupExprInternalRep
	.quad	0
	.long	1
	.zero	4
	.text
	.type	ExprFreeByteCode, @function
ExprFreeByteCode:
.LFB401:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L2691
.L2693:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2692
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2692:
	add	DWORD PTR -4[rbp], 1
.L2691:
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L2693
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE401:
	.size	ExprFreeByteCode, .-ExprFreeByteCode
	.type	FreeExprInternalRep, @function
FreeExprInternalRep:
.LFB402:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L2694
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L2697
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprFreeByteCode
	jmp	.L2694
.L2697:
	nop
.L2694:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE402:
	.size	FreeExprInternalRep, .-FreeExprInternalRep
	.type	DupExprInternalRep, @function
DupExprInternalRep:
.LFB403:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE403:
	.size	DupExprInternalRep, .-DupExprInternalRep
	.type	ExprCheckCorrectness, @function
ExprCheckCorrectness:
.LFB404:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -24[rbp], 0
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -28[rbp], 0
	jmp	.L2700
.L2707:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 17[rax]
	movzx	eax, al
	sub	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	js	.L2711
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 44
	je	.L2703
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 45
	jne	.L2704
.L2703:
	add	DWORD PTR -20[rbp], 1
	jmp	.L2705
.L2704:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 47
	je	.L2706
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 48
	jne	.L2705
.L2706:
	sub	DWORD PTR -20[rbp], 1
.L2705:
	add	DWORD PTR -24[rbp], 1
	add	DWORD PTR -28[rbp], 1
.L2700:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L2707
	jmp	.L2702
.L2711:
	nop
.L2702:
	cmp	DWORD PTR -24[rbp], 1
	jne	.L2708
	cmp	DWORD PTR -20[rbp], 0
	je	.L2709
.L2708:
	mov	eax, 1
	jmp	.L2710
.L2709:
	mov	eax, 0
.L2710:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE404:
	.size	ExprCheckCorrectness, .-ExprCheckCorrectness
	.type	ExprAddLazyOperator, @function
ExprAddLazyOperator:
.LFB405:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, 1
	mov	DWORD PTR -44[rbp], eax
	mov	DWORD PTR -40[rbp], 1
	jmp	.L2713
.L2716:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 19
	jle	.L2714
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	movzx	eax, BYTE PTR 17[rax]
	movzx	eax, al
	add	DWORD PTR -40[rbp], eax
.L2714:
	sub	DWORD PTR -40[rbp], 1
	sub	DWORD PTR -44[rbp], 1
	cmp	DWORD PTR -44[rbp], 0
	jns	.L2713
	mov	eax, 1
	jmp	.L2715
.L2713:
	cmp	DWORD PTR -40[rbp], 0
	jne	.L2716
	add	DWORD PTR -44[rbp], 1
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	add	rcx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 2
	sal	rax, 4
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	add	rax, rcx
	add	edx, 1
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	DWORD PTR 8[rax], 14
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	lea	rbx, [rcx+rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 4
	add	rax, rcx
	add	edx, 2
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	jmp	.L2717
.L2719:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 2
	jne	.L2718
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	cmp	rdx, rax
	jle	.L2718
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	add	rdx, 2
	mov	QWORD PTR 24[rax], rdx
.L2718:
	sub	DWORD PTR -48[rbp], 1
.L2717:
	cmp	DWORD PTR -48[rbp], 0
	jg	.L2719
	mov	eax, 0
.L2715:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE405:
	.size	ExprAddLazyOperator, .-ExprAddLazyOperator
	.section	.rodata
	.align 8
.LC323:
	.string	"Expression has bad operands to %s"
	.text
	.type	ExprAddOperator, @function
ExprAddOperator:
.LFB406:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 1
	jne	.L2721
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ExprAddLazyOperator
	test	eax, eax
	je	.L2722
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC323[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L2723
.L2721:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rax], edx
.L2722:
	mov	eax, 0
.L2723:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE406:
	.size	ExprAddOperator, .-ExprAddOperator
	.type	ExprTernaryGetColonLeftIndex, @function
ExprTernaryGetColonLeftIndex:
.LFB407:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -4[rbp], 1
	sub	DWORD PTR -28[rbp], 1
	jmp	.L2725
.L2730:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 45
	jne	.L2726
	sub	DWORD PTR -4[rbp], 1
	jmp	.L2727
.L2726:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 49
	jne	.L2728
	add	DWORD PTR -4[rbp], 1
	jmp	.L2727
.L2728:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 48
	jne	.L2727
	cmp	DWORD PTR -4[rbp], 1
	jne	.L2727
	mov	eax, DWORD PTR -28[rbp]
	jmp	.L2729
.L2727:
	sub	DWORD PTR -28[rbp], 1
.L2725:
	cmp	DWORD PTR -28[rbp], 1
	jg	.L2730
	mov	eax, -1
.L2729:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE407:
	.size	ExprTernaryGetColonLeftIndex, .-ExprTernaryGetColonLeftIndex
	.type	ExprTernaryGetMoveIndices, @function
ExprTernaryGetMoveIndices:
.LFB408:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -4[rbp], 1
	jmp	.L2732
.L2737:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 45
	jne	.L2733
	sub	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -4[rbp], 0
	jne	.L2734
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 32
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 49
	jne	.L2734
	mov	eax, DWORD PTR -8[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	ExprTernaryGetColonLeftIndex
	mov	rdx, QWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, 1
	jmp	.L2735
.L2733:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 49
	jne	.L2734
	cmp	DWORD PTR -4[rbp], 0
	jne	.L2736
	mov	eax, 0
	jmp	.L2735
.L2736:
	add	DWORD PTR -4[rbp], 1
.L2734:
	sub	DWORD PTR -8[rbp], 1
.L2732:
	cmp	DWORD PTR -8[rbp], 1
	jg	.L2737
	mov	eax, 0
.L2735:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE408:
	.size	ExprTernaryGetMoveIndices, .-ExprTernaryGetMoveIndices
	.type	ExprTernaryReorderExpression, @function
ExprTernaryReorderExpression:
.LFB409:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 8[rax]
	sub	eax, 1
	mov	DWORD PTR -40[rbp], eax
	jmp	.L2739
.L2746:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 49
	jne	.L2748
	lea	rcx, -44[rbp]
	lea	rdx, -48[rbp]
	mov	esi, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	ExprTernaryGetMoveIndices
	test	eax, eax
	je	.L2749
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L2743
.L2744:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 4
	add	rcx, rax
	mov	rax, QWORD PTR [rdx]
	mov	rdx, QWORD PTR 8[rdx]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	add	DWORD PTR -36[rbp], 1
.L2743:
	mov	eax, DWORD PTR -36[rbp]
	cmp	eax, DWORD PTR -40[rbp]
	jl	.L2744
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 4
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR 24[rax]
	mov	edx, DWORD PTR -48[rbp]
	mov	eax, DWORD PTR -40[rbp]
	sub	eax, edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 4
	sub	rax, 16
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
	add	rdx, rcx
	mov	QWORD PTR 24[rax], rdx
	add	DWORD PTR -40[rbp], 1
	jmp	.L2745
.L2748:
	nop
	jmp	.L2745
.L2749:
	nop
.L2745:
	sub	DWORD PTR -40[rbp], 1
.L2739:
	cmp	DWORD PTR -40[rbp], 1
	jg	.L2746
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L2747
	call	__stack_chk_fail@PLT
.L2747:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE409:
	.size	ExprTernaryReorderExpression, .-ExprTernaryReorderExpression
	.section	.rodata
.LC324:
	.string	"Unexpected close parenthesis"
.LC325:
	.string	"Missing close parenthesis"
	.text
	.type	ExprCreateByteCode, @function
ExprCreateByteCode:
.LFB410:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 192
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -156[rbp], 1
	mov	DWORD PTR -148[rbp], 0
	mov	DWORD PTR -144[rbp], 0
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 12[rax]
	sub	eax, 1
	mov	DWORD PTR -140[rbp], eax
	mov	edi, 16
	call	Jim_Alloc
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 12[rax], 1
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], 0
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_InitStack
	mov	DWORD PTR -152[rbp], 0
	jmp	.L2751
.L2753:
	mov	rax, QWORD PTR -176[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR 18[rax]
	cmp	al, 1
	jne	.L2752
	add	DWORD PTR -140[rbp], 2
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 44
	jne	.L2752
	mov	DWORD PTR -144[rbp], 1
.L2752:
	add	DWORD PTR -152[rbp], 1
.L2751:
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -152[rbp], eax
	jl	.L2753
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	eax, 4
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR [rdx], rax
	mov	DWORD PTR -152[rbp], 0
	jmp	.L2754
.L2785:
	mov	rax, QWORD PTR -176[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -152[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	add	rax, rcx
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 7
	je	.L2796
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 16
	ja	.L2757
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2759[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2759[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2759:
	.long	.L2757-.L2759
	.long	.L2758-.L2759
	.long	.L2758-.L2759
	.long	.L2758-.L2759
	.long	.L2758-.L2759
	.long	.L2758-.L2759
	.long	.L2757-.L2759
	.long	.L2757-.L2759
	.long	.L2757-.L2759
	.long	.L2757-.L2759
	.long	.L2757-.L2759
	.long	.L2763-.L2759
	.long	.L2762-.L2759
	.long	.L2797-.L2759
	.long	.L2760-.L2759
	.long	.L2760-.L2759
	.long	.L2758-.L2759
	.text
.L2758:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 8[rax], edx
.L2764:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 5
	jne	.L2765
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	JimSetSourceInfo
.L2765:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L2766
.L2760:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 14
	jne	.L2767
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtoull
	mov	rdx, rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L2768
.L2767:
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	rdx, QWORD PTR -168[rbp]
	movq	xmm0, rax
	mov	rdi, rdx
	call	Jim_NewDoubleObj
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR [rdx], rax
.L2768:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	cmp	rdx, rax
	je	.L2769
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 8[rax], 1
	jmp	.L2764
.L2769:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 8[rax], edx
	jmp	.L2766
.L2763:
	mov	rdx, QWORD PTR -120[rbp]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StackPush
	mov	DWORD PTR -148[rbp], 0
	jmp	.L2770
.L2762:
	mov	DWORD PTR -156[rbp], 0
	jmp	.L2771
.L2775:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_StackPop
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 11
	jne	.L2772
	mov	DWORD PTR -156[rbp], 1
	jmp	.L2773
.L2772:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ExprAddOperator
	test	eax, eax
	jne	.L2798
.L2771:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_StackLen
	test	eax, eax
	jne	.L2775
.L2773:
	cmp	DWORD PTR -156[rbp], 0
	jne	.L2799
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC324[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2777
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2777:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L2774
.L2757:
	cmp	DWORD PTR -148[rbp], 0
	je	.L2778
	cmp	DWORD PTR -148[rbp], 19
	jle	.L2779
.L2778:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 23
	jne	.L2780
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 12[rax], 57
	jmp	.L2779
.L2780:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 24
	jne	.L2779
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 12[rax], 58
.L2779:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -88[rbp], rax
	jmp	.L2781
.L2784:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 17[rax]
	cmp	al, 1
	je	.L2782
	mov	rax, QWORD PTR -72[rbp]
	movzx	edx, BYTE PTR 16[rax]
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR 16[rax]
	cmp	dl, al
	jb	.L2782
	mov	rdx, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ExprAddOperator
	test	eax, eax
	je	.L2783
	mov	DWORD PTR -156[rbp], 0
	jmp	.L2774
.L2783:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_StackPop
.L2781:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_StackPeek
	mov	QWORD PTR -80[rbp], rax
	cmp	QWORD PTR -80[rbp], 0
	jne	.L2784
.L2782:
	mov	rdx, QWORD PTR -120[rbp]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StackPush
	jmp	.L2766
.L2799:
	nop
.L2766:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -148[rbp], eax
	jmp	.L2770
.L2797:
	nop
.L2770:
	add	DWORD PTR -152[rbp], 1
.L2754:
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	DWORD PTR -152[rbp], eax
	jge	.L2786
	cmp	DWORD PTR -156[rbp], 0
	jne	.L2785
	jmp	.L2786
.L2796:
	nop
	jmp	.L2786
.L2789:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_StackPop
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 12[rax]
	cmp	eax, 11
	jne	.L2787
	mov	DWORD PTR -156[rbp], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	edx, -1
	lea	rsi, .LC325[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2788
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2788:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L2774
.L2787:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ExprAddOperator
	test	eax, eax
	je	.L2786
	mov	DWORD PTR -156[rbp], 0
	jmp	.L2774
.L2786:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_StackLen
	test	eax, eax
	jne	.L2789
	cmp	DWORD PTR -144[rbp], 0
	je	.L2800
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprTernaryReorderExpression
	jmp	.L2774
.L2798:
	nop
	jmp	.L2774
.L2800:
	nop
.L2774:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_FreeStack
	mov	DWORD PTR -152[rbp], 0
	jmp	.L2790
.L2791:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -152[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -152[rbp], 1
.L2790:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -152[rbp], eax
	jl	.L2791
	cmp	DWORD PTR -156[rbp], 0
	jne	.L2792
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -168[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprFreeByteCode
	mov	eax, 0
	jmp	.L2794
.L2792:
	mov	rax, QWORD PTR -128[rbp]
.L2794:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2795
	call	__stack_chk_fail@PLT
.L2795:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE410:
	.size	ExprCreateByteCode, .-ExprCreateByteCode
	.section	.rodata
	.align 8
.LC326:
	.string	"syntax error in expression: \"%#s\""
	.text
	.type	SetExprFromAny, @function
SetExprFromAny:
.LFB411:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 640
	mov	QWORD PTR -632[rbp], rdi
	mov	QWORD PTR -640[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -604[rbp], 1
	mov	rax, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, sourceObjType[rip]
	cmp	rax, rdx
	jne	.L2802
	mov	rax, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -592[rbp], rax
	mov	rax, QWORD PTR -640[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	DWORD PTR -608[rbp], eax
	jmp	.L2803
.L2802:
	mov	rax, QWORD PTR -632[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -592[rbp], rax
	mov	DWORD PTR -608[rbp], 1
.L2803:
	mov	rax, QWORD PTR -592[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -592[rbp]
	mov	DWORD PTR 16[rax], edx
	lea	rdx, -612[rbp]
	mov	rax, QWORD PTR -640[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -584[rbp], rax
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListInit
	mov	edx, DWORD PTR -612[rbp]
	mov	ecx, DWORD PTR -608[rbp]
	mov	rsi, QWORD PTR -584[rbp]
	lea	rax, -576[rbp]
	mov	rdi, rax
	call	JimParserInit
	jmp	.L2804
.L2808:
	lea	rax, -576[rbp]
	mov	rdi, rax
	call	JimParseExpression
	test	eax, eax
	je	.L2805
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListFree
.L2806:
	mov	rdx, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR -632[rbp]
	lea	rsi, .LC326[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	QWORD PTR -600[rbp], 0
	jmp	.L2807
.L2805:
	mov	ecx, DWORD PTR -544[rbp]
	mov	edx, DWORD PTR -540[rbp]
	mov	rax, QWORD PTR -552[rbp]
	mov	rsi, QWORD PTR -560[rbp]
	sub	rax, rsi
	add	eax, 1
	mov	edi, eax
	mov	rsi, QWORD PTR -560[rbp]
	lea	rax, -512[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, edi
	mov	rdi, rax
	call	ScriptAddToken
.L2804:
	mov	eax, DWORD PTR -536[rbp]
	test	eax, eax
	je	.L2808
	mov	edx, DWORD PTR -524[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	JimParseCheckMissing
	cmp	eax, 1
	jne	.L2809
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListFree
	mov	rax, QWORD PTR -592[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -592[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -592[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2810
	mov	rdx, QWORD PTR -592[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2810:
	mov	eax, 1
	jmp	.L2816
.L2809:
	mov	rdx, QWORD PTR -592[rbp]
	lea	rcx, -512[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ExprCreateByteCode
	mov	QWORD PTR -600[rbp], rax
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListFree
	cmp	QWORD PTR -600[rbp], 0
	je	.L2818
	mov	rax, QWORD PTR -600[rbp]
	mov	rdi, rax
	call	ExprCheckCorrectness
	test	eax, eax
	je	.L2813
	mov	rdx, QWORD PTR -600[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprFreeByteCode
	jmp	.L2806
.L2813:
	mov	DWORD PTR -604[rbp], 0
	jmp	.L2807
.L2818:
	nop
.L2807:
	mov	rax, QWORD PTR -592[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -592[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -592[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2814
	mov	rdx, QWORD PTR -592[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2814:
	mov	rax, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2815
	mov	rax, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2815
	mov	rax, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -640[rbp]
	mov	rax, QWORD PTR -632[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2815:
	mov	rax, QWORD PTR -640[rbp]
	mov	rdx, QWORD PTR -600[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -640[rbp]
	lea	rdx, exprObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR -604[rbp]
.L2816:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2817
	call	__stack_chk_fail@PLT
.L2817:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE411:
	.size	SetExprFromAny, .-SetExprFromAny
	.type	JimGetExpression, @function
JimGetExpression:
.LFB412:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, exprObjType[rip]
	cmp	rax, rdx
	je	.L2820
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetExprFromAny
	test	eax, eax
	je	.L2820
	mov	eax, 0
	jmp	.L2821
.L2820:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
.L2821:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE412:
	.size	JimGetExpression, .-JimGetExpression
	.type	JimExprIntValOrVar, @function
JimExprIntValOrVar:
.LFB413:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 14
	jne	.L2823
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L2824
.L2823:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	jne	.L2825
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	jmp	.L2824
.L2825:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L2826
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExpandDictSugar
	jmp	.L2824
.L2826:
	mov	eax, 0
.L2824:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE413:
	.size	JimExprIntValOrVar, .-JimExprIntValOrVar
	.globl	Jim_EvalExpression
	.type	Jim_EvalExpression, @function
Jim_EvalExpression:
.LFB414:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	QWORD PTR -216[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -184[rbp], 0
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetExpression
	mov	QWORD PTR -168[rbp], rax
	cmp	QWORD PTR -168[rbp], 0
	jne	.L2828
	mov	eax, 1
	jmp	.L2876
.L2828:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	je	.L2830
	cmp	eax, 3
	jg	.L2831
	cmp	eax, 1
	je	.L2832
	cmp	eax, 2
	je	.L2833
	jmp	.L2831
.L2832:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExprIntValOrVar
	mov	QWORD PTR -160[rbp], rax
	cmp	QWORD PTR -160[rbp], 0
	je	.L2878
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L2876
.L2833:
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 55
	jne	.L2879
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExprIntValOrVar
	mov	QWORD PTR -160[rbp], rax
	cmp	QWORD PTR -160[rbp], 0
	je	.L2879
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	JimIsWide
	test	eax, eax
	je	.L2879
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	je	.L2836
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 224[rax]
	jmp	.L2837
.L2836:
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 216[rax]
.L2837:
	mov	rdx, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, 0
	jmp	.L2876
.L2830:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExprIntValOrVar
	mov	QWORD PTR -160[rbp], rax
	cmp	QWORD PTR -160[rbp], 0
	je	.L2880
	mov	rax, QWORD PTR -160[rbp]
	mov	rdi, rax
	call	JimIsWide
	test	eax, eax
	je	.L2880
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExprIntValOrVar
	mov	QWORD PTR -152[rbp], rax
	cmp	QWORD PTR -152[rbp], 0
	je	.L2880
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	JimIsWide
	test	eax, eax
	je	.L2880
	mov	rax, QWORD PTR -160[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
	mov	eax, DWORD PTR 8[rax]
	sub	eax, 29
	cmp	eax, 5
	ja	.L2881
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2841[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2841[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2841:
	.long	.L2846-.L2841
	.long	.L2845-.L2841
	.long	.L2844-.L2841
	.long	.L2843-.L2841
	.long	.L2842-.L2841
	.long	.L2840-.L2841
	.text
.L2846:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	setl	al
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
	jmp	.L2847
.L2844:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	setle	al
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
	jmp	.L2847
.L2845:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	setg	al
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
	jmp	.L2847
.L2843:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	setge	al
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
	jmp	.L2847
.L2842:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	sete	al
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
	jmp	.L2847
.L2840:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -136[rbp]
	setne	al
	movzx	eax, al
	mov	DWORD PTR -180[rbp], eax
	nop
.L2847:
	cmp	DWORD PTR -180[rbp], 0
	je	.L2848
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 216[rax]
	jmp	.L2849
.L2848:
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 224[rax]
.L2849:
	mov	rdx, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, 0
	jmp	.L2876
.L2878:
	nop
	jmp	.L2831
.L2879:
	nop
	jmp	.L2831
.L2880:
	nop
	jmp	.L2831
.L2881:
	nop
.L2831:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	jle	.L2850
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 8[rax]
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -128[rbp], rax
	jmp	.L2851
.L2850:
	lea	rax, -96[rbp]
	mov	QWORD PTR -128[rbp], rax
.L2851:
	mov	DWORD PTR -120[rbp], 0
	mov	DWORD PTR -188[rbp], 0
	jmp	.L2852
.L2869:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 15
	ja	.L2853
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2855[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2855[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2855:
	.long	.L2853-.L2855
	.long	.L2854-.L2855
	.long	.L2859-.L2855
	.long	.L2858-.L2855
	.long	.L2857-.L2855
	.long	.L2856-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2853-.L2855
	.long	.L2854-.L2855
	.long	.L2854-.L2855
	.text
.L2854:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rax, -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2867
.L2858:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	test	rax, rax
	je	.L2861
	mov	rdx, QWORD PTR -176[rbp]
	lea	rax, -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2867
.L2861:
	mov	DWORD PTR -184[rbp], 1
	jmp	.L2867
.L2857:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExpandDictSugar
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	test	rax, rax
	je	.L2863
	mov	rdx, QWORD PTR -176[rbp]
	lea	rax, -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2867
.L2863:
	mov	DWORD PTR -184[rbp], 1
	jmp	.L2867
.L2859:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -176[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_SubstObj
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], 0
	jne	.L2882
	mov	rdx, QWORD PTR -176[rbp]
	lea	rax, -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2882
.L2856:
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -184[rbp], 0
	jne	.L2883
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR [rax]
	lea	rax, -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ExprPush
	jmp	.L2883
.L2853:
	mov	DWORD PTR -112[rbp], 0
	mov	rax, QWORD PTR -168[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -116[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	mov	edi, eax
	call	JimExprOperatorInfoByOpcode
	mov	rcx, QWORD PTR 8[rax]
	lea	rdx, -128[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -184[rbp], eax
	mov	eax, DWORD PTR -112[rbp]
	add	DWORD PTR -188[rbp], eax
	jmp	.L2867
.L2882:
	nop
	jmp	.L2867
.L2883:
	nop
.L2867:
	add	DWORD PTR -188[rbp], 1
.L2852:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -188[rbp], eax
	jge	.L2868
	cmp	DWORD PTR -184[rbp], 0
	je	.L2869
.L2868:
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 12[rax], edx
	cmp	DWORD PTR -184[rbp], 0
	jne	.L2870
	lea	rax, -128[rbp]
	mov	rdi, rax
	call	ExprPop
	mov	rdx, QWORD PTR -216[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L2871
.L2870:
	mov	DWORD PTR -188[rbp], 0
	jmp	.L2872
.L2874:
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2873
	mov	rdx, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR -188[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2873:
	add	DWORD PTR -188[rbp], 1
.L2872:
	mov	eax, DWORD PTR -120[rbp]
	cmp	DWORD PTR -188[rbp], eax
	jl	.L2874
.L2871:
	mov	rdx, QWORD PTR -128[rbp]
	lea	rax, -96[rbp]
	cmp	rdx, rax
	je	.L2875
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	Jim_Free
.L2875:
	mov	eax, DWORD PTR -184[rbp]
.L2876:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2877
	call	__stack_chk_fail@PLT
.L2877:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE414:
	.size	Jim_EvalExpression, .-Jim_EvalExpression
	.globl	Jim_GetBoolFromExpr
	.type	Jim_GetBoolFromExpr, @function
Jim_GetBoolFromExpr:
.LFB415:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -16[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_EvalExpression
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -36[rbp], 0
	je	.L2885
	mov	eax, DWORD PTR -36[rbp]
	jmp	.L2892
.L2885:
	mov	rcx, QWORD PTR -16[rbp]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimGetWideNoErr
	test	eax, eax
	je	.L2887
	mov	rcx, QWORD PTR -16[rbp]
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	je	.L2888
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2889
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2889:
	mov	eax, 1
	jmp	.L2892
.L2888:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2890
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2890:
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	setp	al
	mov	edx, 1
	pxor	xmm1, xmm1
	ucomisd	xmm0, xmm1
	cmovne	eax, edx
	movzx	edx, al
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L2892
.L2887:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L2891
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2891:
	mov	eax, 0
.L2892:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L2893
	call	__stack_chk_fail@PLT
.L2893:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE415:
	.size	Jim_GetBoolFromExpr, .-Jim_GetBoolFromExpr
	.section	.rodata
.LC327:
	.string	"scanformatstring"
	.section	.data.rel.ro.local
	.align 32
	.type	scanFmtStringObjType, @object
	.size	scanFmtStringObjType, 40
scanFmtStringObjType:
	.quad	.LC327
	.quad	FreeScanFmtInternalRep
	.quad	DupScanFmtInternalRep
	.quad	UpdateStringOfScanFmt
	.long	0
	.zero	4
	.text
	.type	FreeScanFmtInternalRep, @function
FreeScanFmtInternalRep:
.LFB416:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 24[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE416:
	.size	FreeScanFmtInternalRep, .-FreeScanFmtInternalRep
	.type	DupScanFmtInternalRep, @function
DupScanFmtInternalRep:
.LFB417:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, scanFmtStringObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE417:
	.size	DupScanFmtInternalRep, .-DupScanFmtInternalRep
	.type	UpdateStringOfScanFmt, @function
UpdateStringOfScanFmt:
.LFB418:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStringBytes
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE418:
	.size	UpdateStringOfScanFmt, .-UpdateStringOfScanFmt
	.section	.rodata
.LC328:
	.string	"%d%n"
	.align 8
.LC329:
	.string	"cannot mix \"%\" and \"%n$\" conversion specifiers"
	.align 8
.LC330:
	.string	"variable is assigned by multiple \"%n$\" conversion specifiers"
.LC331:
	.string	"unmatched [ in format string"
.LC332:
	.string	"hlL"
.LC333:
	.string	"efgcsndoxui"
.LC334:
	.string	"bad scan conversion character"
	.align 8
.LC335:
	.string	"field width may not be specified in %c conversion"
.LC336:
	.string	"unsigned wide not supported"
	.text
	.type	SetScanFmtFromAny, @function
SetScanFmtFromAny:
.LFB419:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -84[rbp], -1
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 20[rax]
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2898
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2898
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L2898:
	mov	DWORD PTR -88[rbp], 0
	mov	DWORD PTR -92[rbp], 0
	jmp	.L2899
.L2901:
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -48[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L2900
	add	DWORD PTR -92[rbp], 1
.L2900:
	add	DWORD PTR -88[rbp], 1
.L2899:
	mov	eax, DWORD PTR -88[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jl	.L2901
	mov	eax, DWORD PTR -92[rbp]
	add	eax, 1
	cdqe
	sal	eax, 5
	mov	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -64[rbp]
	add	edx, eax
	mov	eax, DWORD PTR -92[rbp]
	add	eax, edx
	add	eax, 95
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	eax, DWORD PTR -92[rbp]
	add	eax, 1
	cdqe
	sal	rax, 5
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	lea	rdx, 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rax, 4
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	rax, 1
	add	rax, rdx
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	lea	rdx, scanFmtStringObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	DWORD PTR -88[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	jmp	.L2902
.L2944:
	mov	DWORD PTR -100[rbp], 0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	sal	rax, 5
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 8
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L2903
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L2904
.L2903:
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 28[rax], 0
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L2905
.L2909:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L2906
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L2946
	add	QWORD PTR -48[rbp], 1
.L2906:
	mov	eax, DWORD PTR -88[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -88[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	QWORD PTR -48[rbp], 1
.L2905:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jb	.L2909
	jmp	.L2908
.L2946:
	nop
.L2908:
	mov	eax, DWORD PTR -88[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -88[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L2904:
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jnb	.L2947
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	jne	.L2912
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], -1
	add	QWORD PTR -48[rbp], 1
	jmp	.L2913
.L2912:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 24[rax], rdx
.L2913:
	lea	rcx, -96[rbp]
	lea	rdx, -100[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC328[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L2914
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, -1
	je	.L2915
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L2915
	add	QWORD PTR -48[rbp], 1
	mov	edx, DWORD PTR -100[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	DWORD PTR -100[rbp], 0
	cmp	DWORD PTR -84[rbp], 0
	jne	.L2916
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jg	.L2917
.L2916:
	cmp	DWORD PTR -84[rbp], 0
	jle	.L2918
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L2918
.L2917:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC329[rip]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 1
	jmp	.L2943
.L2918:
	mov	DWORD PTR -76[rbp], 0
	jmp	.L2920
.L2923:
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	add	rax, 16
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	je	.L2948
	mov	rdx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 2
	sal	rax, 5
	add	rax, rdx
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	edx, eax
	jne	.L2922
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC330[rip]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 1
	jmp	.L2943
.L2948:
	nop
.L2922:
	add	DWORD PTR -76[rbp], 1
.L2920:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jl	.L2923
	lea	rcx, -96[rbp]
	lea	rdx, -100[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC328[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	cmp	eax, 1
	jne	.L2924
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	QWORD PTR -48[rbp], rax
.L2924:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jle	.L2949
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	cmp	rdx, rax
	jbe	.L2949
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 32[rax], rdx
	jmp	.L2949
.L2915:
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rax], rdx
	jmp	.L2914
.L2949:
	nop
.L2914:
	cmp	DWORD PTR -84[rbp], -1
	jne	.L2926
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	DWORD PTR -84[rbp], eax
.L2926:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L2927
	mov	DWORD PTR -72[rbp], 1
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -56[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 28[rax], 91
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 94
	jne	.L2928
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, DWORD PTR -88[rbp]
	lea	ecx, 1[rdx]
	mov	DWORD PTR -88[rbp], ecx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
.L2928:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L2930
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, DWORD PTR -88[rbp]
	lea	ecx, 1[rdx]
	mov	DWORD PTR -88[rbp], ecx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	jmp	.L2930
.L2932:
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	mov	edx, DWORD PTR -88[rbp]
	lea	ecx, 1[rdx]
	mov	DWORD PTR -88[rbp], ecx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
.L2930:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2931
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L2932
.L2931:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L2933
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC331[rip]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 1
	jmp	.L2943
.L2933:
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -88[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	jmp	.L2934
.L2938:
	mov	DWORD PTR -72[rbp], 0
	mov	eax, DWORD PTR -56[rbp]
	add	eax, 1
	mov	DWORD PTR -68[rbp], eax
	jmp	.L2935
.L2937:
	mov	eax, DWORD PTR -68[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L2936
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jle	.L2936
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -101[rbp], al
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	lea	rcx, -1[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	movzx	eax, BYTE PTR -101[rbp]
	mov	BYTE PTR [rdx], al
	mov	DWORD PTR -72[rbp], 1
.L2936:
	add	DWORD PTR -68[rbp], 1
.L2935:
	mov	eax, DWORD PTR -52[rbp]
	sub	eax, 1
	cmp	DWORD PTR -68[rbp], eax
	jl	.L2937
.L2934:
	cmp	DWORD PTR -72[rbp], 0
	jne	.L2938
	jmp	.L2939
.L2927:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC332[rip]
	call	strchr@PLT
	test	rax, rax
	je	.L2940
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -48[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	tolower@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 29[rax], dl
.L2940:
	mov	rax, QWORD PTR -48[rbp]
	movzx	edx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 28[rax], dl
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC333[rip]
	call	strchr@PLT
	test	rax, rax
	jne	.L2941
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC334[rip]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 1
	jmp	.L2943
.L2941:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 99
	jne	.L2942
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L2942
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC335[rip]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 1
	jmp	.L2943
.L2942:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 117
	jne	.L2939
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR 29[rax]
	cmp	al, 108
	jne	.L2939
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC336[rip]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, 1
	jmp	.L2943
.L2939:
	add	DWORD PTR -80[rbp], 1
	add	QWORD PTR -48[rbp], 1
.L2902:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -40[rbp]
	jb	.L2944
	jmp	.L2911
.L2947:
	nop
.L2911:
	mov	eax, 0
.L2943:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2945
	call	__stack_chk_fail@PLT
.L2945:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE419:
	.size	SetScanFmtFromAny, .-SetScanFmtFromAny
	.type	JimScanAString, @function
JimScanAString:
.LFB420:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_StrDup
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2951
.L2958:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L2952
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2961
.L2952:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -28[rbp], 1
	cmp	QWORD PTR -48[rbp], 0
	je	.L2955
	mov	ecx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 2
	mov	esi, ecx
	mov	rdi, rax
	call	JimCharsetMatch
	test	rax, rax
	je	.L2962
	jmp	.L2955
.L2956:
	mov	rdx, QWORD PTR -56[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -24[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
.L2955:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -28[rbp], edx
	test	eax, eax
	jne	.L2956
.L2951:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2958
	jmp	.L2957
.L2961:
	nop
	jmp	.L2957
.L2962:
	nop
.L2957:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -16[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L2960
	call	__stack_chk_fail@PLT
.L2960:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE420:
	.size	JimScanAString, .-JimScanAString
	.type	ScanOneEntry, @function
ScanOneEntry:
.LFB421:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	DWORD PTR -116[rbp], edx
	mov	DWORD PTR -120[rbp], ecx
	mov	QWORD PTR -128[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	mov	rax, QWORD PTR 16[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -136[rbp]
	sal	rax, 5
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	add	rax, 8
	mov	QWORD PTR -48[rbp], rax
	mov	QWORD PTR -72[rbp], 0
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L2964
	mov	DWORD PTR -96[rbp], 0
	jmp	.L2965
.L2972:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	je	.L2966
	jmp	.L2967
.L2969:
	add	DWORD PTR -116[rbp], 1
.L2967:
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jge	.L2968
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -116[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2969
	jmp	.L2968
.L2966:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -116[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L3008
	add	DWORD PTR -116[rbp], 1
.L2968:
	add	DWORD PTR -96[rbp], 1
.L2965:
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jge	.L2971
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L2972
	jmp	.L2971
.L3008:
	nop
.L2971:
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jl	.L2973
	mov	eax, -1
	jmp	.L2974
.L2973:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L2964
	mov	eax, 0
	jmp	.L2974
.L2964:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 99
	je	.L2975
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 91
	je	.L2975
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 110
	je	.L2975
	jmp	.L2976
.L2977:
	add	DWORD PTR -116[rbp], 1
.L2976:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -116[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8192
	test	eax, eax
	jne	.L2977
.L2975:
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	sub	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 110
	jne	.L2978
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L2979
.L2978:
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, DWORD PTR -120[rbp]
	jl	.L2980
	mov	eax, -1
	jmp	.L2974
.L2980:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 99
	jne	.L2981
	mov	eax, DWORD PTR -116[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -88[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -72[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -72[rbp]
	jmp	.L2974
.L2981:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	je	.L2982
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, DWORD PTR -116[rbp]
	test	eax, eax
	jns	.L2983
	mov	eax, DWORD PTR -116[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	strlen@PLT
	jmp	.L2984
.L2983:
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, DWORD PTR -116[rbp]
	cdqe
.L2984:
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -32[rbp], rax
	cmovbe	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -116[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjUtf8
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L2985
.L2982:
	mov	eax, DWORD PTR -116[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	QWORD PTR -80[rbp], rax
.L2985:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	movsx	eax, al
	sub	eax, 91
	cmp	eax, 29
	ja	.L2986
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L2988[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L2988[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L2988:
	.long	.L2989-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2987-.L2988
	.long	.L2990-.L2988
	.long	.L2990-.L2988
	.long	.L2990-.L2988
	.long	.L2986-.L2988
	.long	.L2987-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2987-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2989-.L2988
	.long	.L2986-.L2988
	.long	.L2987-.L2988
	.long	.L2986-.L2988
	.long	.L2986-.L2988
	.long	.L2987-.L2988
	.text
.L2987:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 111
	je	.L2991
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 120
	je	.L2992
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR 28[rax]
	cmp	al, 105
	jne	.L2993
	mov	eax, 0
	jmp	.L2996
.L2993:
	mov	eax, 10
	jmp	.L2996
.L2992:
	mov	eax, 16
	jmp	.L2996
.L2991:
	mov	eax, 8
.L2996:
	mov	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -92[rbp], 0
	jne	.L2997
	lea	rdx, -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	jim_strtoull
	mov	QWORD PTR -56[rbp], rax
	jmp	.L2998
.L2997:
	mov	edx, DWORD PTR -92[rbp]
	lea	rcx, -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	QWORD PTR -56[rbp], rax
.L2998:
	mov	rax, QWORD PTR -88[rbp]
	cmp	QWORD PTR -80[rbp], rax
	je	.L2999
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, QWORD PTR -80[rbp]
	add	QWORD PTR -72[rbp], rax
	jmp	.L2986
.L2999:
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L3001
	mov	eax, 0
	jmp	.L3002
.L3001:
	mov	rax, -1
.L3002:
	mov	QWORD PTR -72[rbp], rax
	jmp	.L2986
.L2989:
	mov	rax, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimScanAString
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	cdqe
	add	QWORD PTR -72[rbp], rax
	jmp	.L2986
.L2990:
	lea	rdx, -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strtod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	cmp	QWORD PTR -80[rbp], rax
	je	.L3003
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, QWORD PTR -80[rbp]
	add	QWORD PTR -72[rbp], rax
	jmp	.L3009
.L3003:
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L3005
	mov	eax, 0
	jmp	.L3006
.L3005:
	mov	rax, -1
.L3006:
	mov	QWORD PTR -72[rbp], rax
.L3009:
	nop
.L2986:
	cmp	QWORD PTR -64[rbp], 0
	je	.L2979
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L2979:
	mov	rax, QWORD PTR -72[rbp]
.L2974:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L3007
	call	__stack_chk_fail@PLT
.L3007:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE421:
	.size	ScanOneEntry, .-ScanOneEntry
	.globl	Jim_ScanString
	.type	Jim_ScanString, @function
Jim_ScanString:
.LFB422:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	DWORD PTR -140[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -96[rbp], 1
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -92[rbp], eax
	mov	QWORD PTR -48[rbp], 0
	mov	QWORD PTR -88[rbp], 0
	mov	QWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L3011
	mov	eax, DWORD PTR -140[rbp]
	and	eax, 1
	test	eax, eax
	je	.L3012
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3013
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3013:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L3012:
	mov	eax, 0
	jmp	.L3035
.L3011:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L3015
	mov	QWORD PTR -72[rbp], 0
	jmp	.L3016
.L3017:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	add	QWORD PTR -72[rbp], 1
.L3016:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 32[rax]
	cmp	QWORD PTR -72[rbp], rax
	jb	.L3017
	lea	rcx, -88[rbp]
	lea	rdx, -100[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	JimListGetElements
.L3015:
	mov	QWORD PTR -72[rbp], 0
	mov	QWORD PTR -64[rbp], 0
	jmp	.L3018
.L3031:
	mov	rax, QWORD PTR -72[rbp]
	sal	rax, 5
	lea	rdx, 48[rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	add	rax, 8
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 28[rax]
	test	al, al
	je	.L3039
	cmp	DWORD PTR -96[rbp], 0
	jle	.L3021
	mov	r8, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	r10d, eax
	mov	rdi, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -92[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -120[rbp]
	sub	rsp, 8
	lea	rcx, -80[rbp]
	push	rcx
	mov	r9, r8
	mov	r8, rdi
	mov	ecx, edx
	mov	edx, r10d
	mov	rdi, rax
	call	ScanOneEntry
	add	rsp, 16
	mov	DWORD PTR -96[rbp], eax
.L3021:
	cmp	DWORD PTR -96[rbp], -1
	jne	.L3022
	cmp	QWORD PTR -72[rbp], 0
	je	.L3040
.L3022:
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	test	rax, rax
	jne	.L3024
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -80[rbp], rax
.L3024:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	eax, -1
	jne	.L3025
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L3020
.L3025:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jne	.L3027
	mov	rdx, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L3020
.L3027:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L3028
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3029
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3029:
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	cdqe
	sal	rax, 3
	sub	rax, 8
	add	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L3020
.L3028:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3030:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3034
	jmp	.L3038
.L3039:
	nop
.L3020:
	add	QWORD PTR -72[rbp], 1
.L3018:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 16[rax]
	cmp	QWORD PTR -72[rbp], rax
	jb	.L3031
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3032
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3032:
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L3035
.L3040:
	nop
.L3023:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3033
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3033:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	rax, -1
	jmp	.L3035
.L3038:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3034:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 0
.L3035:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3036
	call	__stack_chk_fail@PLT
.L3036:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE422:
	.size	Jim_ScanString, .-Jim_ScanString
	.type	JimPrngInit, @function
JimPrngInit:
.LFB423:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	edi, 264
	call	Jim_Alloc
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 400[rdx], rax
	mov	edi, 1024
	call	Jim_Alloc
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L3042
.L3043:
	call	rand@PLT
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	ebx, edx
	xor	ebx, eax
	call	clock@PLT
	xor	ebx, eax
	mov	edx, ebx
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -36[rbp], 1
.L3042:
	cmp	DWORD PTR -36[rbp], 255
	jle	.L3043
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 1024
	mov	rsi, rcx
	mov	rdi, rax
	call	JimPrngSeed
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE423:
	.size	JimPrngInit, .-JimPrngInit
	.type	JimRandomBytes, @function
JimRandomBytes:
.LFB424:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 400[rax]
	test	rax, rax
	jne	.L3045
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	JimPrngInit
.L3045:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 400[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L3046
.L3047:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 256[rax]
	add	eax, 1
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 256[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 256[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 260[rax]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, edx
	movzx	edx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 260[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 260[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 256[rax]
	mov	eax, DWORD PTR -20[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	mov	BYTE PTR [rax+rdx], cl
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 260[rax]
	mov	eax, DWORD PTR -24[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, edx
	mov	BYTE PTR [rax+rdx], cl
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -20[rbp]
	add	eax, edx
	movzx	ecx, al
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	rdx, QWORD PTR -8[rbp]
	mov	ecx, ecx
	movzx	edx, BYTE PTR [rdx+rcx]
	mov	BYTE PTR [rax], dl
	add	DWORD PTR -28[rbp], 1
.L3046:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jb	.L3047
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE424:
	.size	JimRandomBytes, .-JimRandomBytes
	.type	JimPrngSeed, @function
JimPrngSeed:
.LFB425:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 400[rax]
	test	rax, rax
	jne	.L3049
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimPrngInit
.L3049:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 400[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L3050
.L3051:
	mov	eax, DWORD PTR -12[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L3050:
	cmp	DWORD PTR -12[rbp], 255
	jle	.L3051
	mov	DWORD PTR -12[rbp], 0
	jmp	.L3052
.L3053:
	mov	eax, DWORD PTR -12[rbp]
	movzx	eax, al
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	movzx	eax, BYTE PTR [rdx+rax]
	mov	BYTE PTR -13[rbp], al
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	edx, DWORD PTR -12[rbp]
	movzx	esi, dl
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	movzx	ecx, BYTE PTR [rdx+rax]
	mov	rdx, QWORD PTR -8[rbp]
	movsx	rax, esi
	mov	BYTE PTR [rdx+rax], cl
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	rdx, QWORD PTR -8[rbp]
	cdqe
	movzx	ecx, BYTE PTR -13[rbp]
	mov	BYTE PTR [rdx+rax], cl
	add	DWORD PTR -12[rbp], 1
.L3052:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L3053
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 260[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 260[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 256[rax], edx
	mov	DWORD PTR -12[rbp], 0
	jmp	.L3054
.L3055:
	mov	edx, DWORD PTR -36[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimRandomBytes
	mov	eax, DWORD PTR -36[rbp]
	add	DWORD PTR -12[rbp], eax
.L3054:
	cmp	DWORD PTR -12[rbp], 255
	jle	.L3055
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE425:
	.size	JimPrngSeed, .-JimPrngSeed
	.section	.rodata
.LC337:
	.string	"varName ?increment?"
	.text
	.type	Jim_IncrCoreCommand, @function
Jim_IncrCoreCommand:
.LFB426:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -32[rbp], 1
	cmp	DWORD PTR -60[rbp], 2
	je	.L3057
	cmp	DWORD PTR -60[rbp], 3
	je	.L3057
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC337[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3067
.L3057:
	cmp	DWORD PTR -60[rbp], 3
	jne	.L3059
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L3059
	mov	eax, 1
	jmp	.L3067
.L3059:
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L3060
	mov	QWORD PTR -40[rbp], 0
	jmp	.L3061
.L3060:
	lea	rdx, -40[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L3061
	mov	eax, 1
	jmp	.L3067
.L3061:
	cmp	QWORD PTR -24[rbp], 0
	je	.L3062
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L3063
.L3062:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3065
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	eax, 1
	jmp	.L3067
.L3063:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, variableObjType[rip]
	cmp	rax, rdx
	je	.L3065
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
.L3065:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3066
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3066:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3067:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L3068
	call	__stack_chk_fail@PLT
.L3068:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE426:
	.size	Jim_IncrCoreCommand, .-Jim_IncrCoreCommand
	.type	JimUnknown, @function
JimUnknown:
.LFB427:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 328[rax]
	cmp	eax, 50
	jle	.L3070
	mov	eax, 1
	jmp	.L3071
.L3070:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 320[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	test	rax, rax
	jne	.L3072
	mov	eax, 1
	jmp	.L3071
.L3072:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 328[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 328[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 320[rax]
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_EvalObjPrefix
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 328[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 328[rax], edx
	mov	eax, DWORD PTR -4[rbp]
.L3071:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE427:
	.size	JimUnknown, .-JimUnknown
	.section	.rodata
.LC338:
	.string	"Infinite eval recursion"
	.text
	.type	JimInvokeCommand, @function
JimInvokeCommand:
.LFB428:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 160[rax]
	test	rax, rax
	je	.L3074
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 160[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR 160[rax], 0
	jmp	.L3075
.L3074:
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L3076
	mov	rdx, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimUnknown
	jmp	.L3077
.L3076:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimIncrCmdRefCount
.L3075:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 36[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	edx, eax
	jne	.L3078
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC338[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3079
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3079:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	DWORD PTR -28[rbp], 1
	jmp	.L3080
.L3078:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3081
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3081:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L3082
	mov	rcx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	JimCallProcedure
	mov	DWORD PTR -28[rbp], eax
	jmp	.L3083
.L3082:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 336[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	r8, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -28[rbp], eax
.L3083:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 36[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 36[rax], edx
.L3080:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	mov	eax, DWORD PTR -28[rbp]
.L3077:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE428:
	.size	JimInvokeCommand, .-JimInvokeCommand
	.globl	Jim_EvalObjVector
	.type	Jim_EvalObjVector, @function
Jim_EvalObjVector:
.LFB429:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -8[rbp], 0
	jmp	.L3085
.L3086:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -8[rbp], 1
.L3085:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3086
	mov	rdx, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimInvokeCommand
	mov	DWORD PTR -4[rbp], eax
	mov	DWORD PTR -8[rbp], 0
	jmp	.L3087
.L3089:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3088
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3088:
	add	DWORD PTR -8[rbp], 1
.L3087:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3089
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE429:
	.size	Jim_EvalObjVector, .-Jim_EvalObjVector
	.globl	Jim_EvalObjPrefix
	.type	Jim_EvalObjPrefix, @function
Jim_EvalObjPrefix:
.LFB430:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 8[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, DWORD PTR -36[rbp]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_EvalObjVector
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE430:
	.size	Jim_EvalObjPrefix, .-Jim_EvalObjPrefix
	.type	JimAddErrorToStack, @function
JimAddErrorToStack:
.LFB431:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 16
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 332[rax]
	test	eax, eax
	jne	.L3094
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 332[rax], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3095
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3095:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimResetStackTrace
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
.L3094:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	test	eax, eax
	jle	.L3099
	mov	rax, QWORD PTR -32[rbp]
	mov	r12d, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	rdi, rax
	call	Jim_String
	mov	rsi, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, r12d
	mov	rdx, rbx
	mov	rdi, rax
	call	JimAppendStackTrace
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	je	.L3097
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], 0
.L3097:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3098
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 312[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3098:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 312[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L3099:
	nop
	add	rsp, 16
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE431:
	.size	JimAddErrorToStack, .-JimAddErrorToStack
	.type	JimSubstOneToken, @function
JimSubstOneToken:
.LFB432:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 16
	ja	.L3101
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3103[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3103[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3103:
	.long	.L3101-.L3103
	.long	.L3107-.L3103
	.long	.L3107-.L3103
	.long	.L3106-.L3103
	.long	.L3105-.L3103
	.long	.L3104-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3101-.L3103
	.long	.L3102-.L3103
	.text
.L3107:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3108
.L3106:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3108
.L3105:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExpandDictSugar
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3108
.L3102:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExpandExprSugar
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3108
.L3104:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	cmp	eax, 4
	je	.L3109
	cmp	eax, 4
	jg	.L3110
	cmp	eax, 3
	je	.L3111
	cmp	eax, 3
	jg	.L3110
	test	eax, eax
	je	.L3112
	cmp	eax, 2
	jne	.L3110
.L3112:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	nop
	jmp	.L3108
.L3111:
	mov	eax, 3
	jmp	.L3114
.L3109:
	mov	eax, 4
	jmp	.L3114
.L3110:
	mov	eax, 1
	jmp	.L3114
.L3101:
	mov	QWORD PTR -8[rbp], 0
	nop
.L3108:
	cmp	QWORD PTR -8[rbp], 0
	je	.L3115
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3114
.L3115:
	mov	eax, 1
.L3114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE432:
	.size	JimSubstOneToken, .-JimSubstOneToken
	.type	JimInterpolateTokens, @function
JimInterpolateTokens:
.LFB433:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	DWORD PTR -132[rbp], edx
	mov	DWORD PTR -136[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -112[rbp], 0
	cmp	DWORD PTR -132[rbp], 8
	jg	.L3117
	lea	rax, -80[rbp]
	mov	QWORD PTR -104[rbp], rax
	jmp	.L3118
.L3117:
	mov	eax, DWORD PTR -132[rbp]
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -104[rbp], rax
.L3118:
	mov	DWORD PTR -108[rbp], 0
	jmp	.L3119
.L3130:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -128[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimSubstOneToken
	cmp	eax, 4
	je	.L3120
	cmp	eax, 4
	jg	.L3126
	cmp	eax, 3
	je	.L3122
	cmp	eax, 3
	jg	.L3126
	test	eax, eax
	je	.L3141
	cmp	eax, 2
	jne	.L3126
	jmp	.L3141
.L3122:
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 128
	test	eax, eax
	je	.L3120
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -132[rbp], eax
	jmp	.L3125
.L3120:
	mov	eax, DWORD PTR -136[rbp]
	and	eax, 128
	test	eax, eax
	je	.L3126
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	QWORD PTR [rax], 0
	jmp	.L3125
.L3127:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3126
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3126:
	mov	eax, DWORD PTR -108[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -108[rbp], edx
	test	eax, eax
	jne	.L3127
	lea	rax, -80[rbp]
	cmp	QWORD PTR -104[rbp], rax
	je	.L3128
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_Free
.L3128:
	mov	eax, 0
	jmp	.L3139
.L3141:
	nop
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 20[rax]
	add	DWORD PTR -112[rbp], eax
.L3125:
	add	DWORD PTR -108[rbp], 1
.L3119:
	mov	eax, DWORD PTR -108[rbp]
	cmp	eax, DWORD PTR -132[rbp]
	jl	.L3130
	cmp	DWORD PTR -132[rbp], 1
	jne	.L3131
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L3131
	lea	rax, -80[rbp]
	cmp	QWORD PTR -104[rbp], rax
	jne	.L3131
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3132
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3132:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	jmp	.L3139
.L3131:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	QWORD PTR -88[rbp], rax
	cmp	DWORD PTR -132[rbp], 4
	jne	.L3133
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L3133
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 16
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L3133
	mov	rax, QWORD PTR -128[rbp]
	add	rax, 32
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	jne	.L3133
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, interpolatedObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	jmp	.L3134
.L3133:
	cmp	DWORD PTR -132[rbp], 0
	je	.L3134
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L3134
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, sourceObjType[rip]
	cmp	rax, rdx
	jne	.L3134
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR 24[rax]
	mov	rsi, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	JimSetSourceInfo
.L3134:
	mov	eax, DWORD PTR -112[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR -112[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	DWORD PTR -108[rbp], 0
	jmp	.L3135
.L3137:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L3136
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 20[rax]
	movsx	rdx, eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 20[rax]
	cdqe
	add	QWORD PTR -96[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3136
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3136:
	add	DWORD PTR -108[rbp], 1
.L3135:
	mov	eax, DWORD PTR -108[rbp]
	cmp	eax, DWORD PTR -132[rbp]
	jl	.L3137
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	lea	rax, -80[rbp]
	cmp	QWORD PTR -104[rbp], rax
	je	.L3138
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_Free
.L3138:
	mov	rax, QWORD PTR -88[rbp]
.L3139:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L3140
	call	__stack_chk_fail@PLT
.L3140:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE433:
	.size	JimInterpolateTokens, .-JimInterpolateTokens
	.type	JimEvalObjList, @function
JimEvalObjList:
.LFB434:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	je	.L3143
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimInvokeCommand
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3143
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3143:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE434:
	.size	JimEvalObjList, .-JimEvalObjList
	.globl	Jim_EvalObjList
	.type	Jim_EvalObjList, @function
Jim_EvalObjList:
.LFB435:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetListFromAny
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimEvalObjList
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE435:
	.size	Jim_EvalObjList, .-Jim_EvalObjList
	.globl	Jim_EvalObj
	.type	Jim_EvalObj, @function
Jim_EvalObj:
.LFB436:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -180[rbp], 0
	mov	QWORD PTR -152[rbp], 0
	mov	rax, QWORD PTR -208[rbp]
	mov	rdi, rax
	call	Jim_IsList
	test	eax, eax
	je	.L3148
	mov	rax, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L3148
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimEvalObjList
	jmp	.L3193
.L3148:
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetScript
	mov	QWORD PTR -128[rbp], rax
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimScriptValid
	test	eax, eax
	jne	.L3150
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3151
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3151:
	mov	eax, 1
	jmp	.L3193
.L3150:
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3152
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3152:
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jne	.L3153
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3154
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3154:
	mov	eax, 0
	jmp	.L3193
.L3153:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 3
	jne	.L3155
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, commandObjType[rip]
	cmp	rax, rdx
	jne	.L3155
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 32[rax]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L3155
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 32[rax]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, Jim_IncrCoreCommand[rip]
	cmp	rax, rdx
	jne	.L3155
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 32
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, variableObjType[rip]
	cmp	rax, rdx
	jne	.L3155
	mov	rax, QWORD PTR -112[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -104[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	je	.L3155
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jg	.L3155
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	jne	.L3155
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3156
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3156:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3157
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3157:
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3193
.L3155:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -208[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	rax, QWORD PTR -200[rbp]
	mov	DWORD PTR 332[rax], 0
	lea	rax, -80[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	DWORD PTR -184[rbp], 0
	jmp	.L3158
.L3187:
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 28[rax]
	mov	DWORD PTR -176[rbp], eax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 32[rax], edx
	cmp	DWORD PTR -176[rbp], 8
	jle	.L3159
	mov	eax, DWORD PTR -176[rbp]
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -152[rbp], rax
.L3159:
	add	DWORD PTR -184[rbp], 1
	mov	DWORD PTR -172[rbp], 0
	jmp	.L3160
.L3182:
	mov	QWORD PTR -144[rbp], 1
	mov	DWORD PTR -168[rbp], 0
	mov	QWORD PTR -136[rbp], 0
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 10
	jne	.L3161
	mov	eax, DWORD PTR -184[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -184[rbp], edx
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -144[rbp], rax
	cmp	QWORD PTR -144[rbp], 0
	jns	.L3161
	mov	DWORD PTR -168[rbp], 1
	neg	QWORD PTR -144[rbp]
.L3161:
	cmp	QWORD PTR -144[rbp], 1
	jne	.L3162
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 16
	ja	.L3171
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3165[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3165[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3165:
	.long	.L3171-.L3165
	.long	.L3169-.L3165
	.long	.L3169-.L3165
	.long	.L3168-.L3165
	.long	.L3167-.L3165
	.long	.L3166-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3171-.L3165
	.long	.L3164-.L3165
	.text
.L3169:
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L3171
.L3168:
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -136[rbp], rax
	jmp	.L3171
.L3164:
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExpandExprSugar
	mov	QWORD PTR -136[rbp], rax
	jmp	.L3171
.L3167:
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimExpandDictSugar
	mov	QWORD PTR -136[rbp], rax
	jmp	.L3171
.L3166:
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -180[rbp], eax
	cmp	DWORD PTR -180[rbp], 0
	jne	.L3195
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L3195
.L3162:
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -184[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	mov	rax, QWORD PTR -112[rbp]
	lea	rsi, [rcx+rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	JimInterpolateTokens
	mov	QWORD PTR -136[rbp], rax
	jmp	.L3171
.L3195:
	nop
.L3171:
	cmp	QWORD PTR -136[rbp], 0
	jne	.L3172
	cmp	DWORD PTR -180[rbp], 0
	jne	.L3196
	mov	DWORD PTR -180[rbp], 1
	jmp	.L3196
.L3172:
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -184[rbp]
	add	eax, edx
	mov	DWORD PTR -184[rbp], eax
	cmp	DWORD PTR -168[rbp], 0
	jne	.L3175
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L3176
.L3175:
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -160[rbp], eax
	mov	edx, DWORD PTR -176[rbp]
	mov	eax, DWORD PTR -160[rbp]
	add	eax, edx
	sub	eax, 1
	mov	DWORD PTR -156[rbp], eax
	cmp	DWORD PTR -160[rbp], 1
	jle	.L3177
	lea	rax, -80[rbp]
	cmp	QWORD PTR -152[rbp], rax
	jne	.L3178
	cmp	DWORD PTR -156[rbp], 8
	jle	.L3177
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -152[rbp], rax
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rcx, -80[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	jmp	.L3177
.L3178:
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	sal	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -152[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	QWORD PTR -152[rbp], rax
.L3177:
	mov	DWORD PTR -164[rbp], 0
	jmp	.L3179
.L3180:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	sal	rax, 3
	lea	rcx, [rdx+rax]
	mov	eax, DWORD PTR -172[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -172[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR [rcx]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -164[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	add	DWORD PTR -164[rbp], 1
.L3179:
	mov	eax, DWORD PTR -164[rbp]
	cmp	eax, DWORD PTR -160[rbp]
	jl	.L3180
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3181
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3181:
	sub	DWORD PTR -172[rbp], 1
	mov	eax, DWORD PTR -160[rbp]
	sub	eax, 1
	add	DWORD PTR -176[rbp], eax
.L3176:
	add	DWORD PTR -172[rbp], 1
.L3160:
	mov	eax, DWORD PTR -172[rbp]
	cmp	eax, DWORD PTR -176[rbp]
	jl	.L3182
	jmp	.L3174
.L3196:
	nop
.L3174:
	cmp	DWORD PTR -180[rbp], 0
	jne	.L3184
	cmp	DWORD PTR -176[rbp], 0
	je	.L3184
	mov	rdx, QWORD PTR -152[rbp]
	mov	ecx, DWORD PTR -176[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimInvokeCommand
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	je	.L3184
	mov	rax, QWORD PTR -200[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L3184
	mov	DWORD PTR -180[rbp], 5
	jmp	.L3184
.L3185:
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3184
	mov	eax, DWORD PTR -172[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3184:
	mov	eax, DWORD PTR -172[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -172[rbp], edx
	test	eax, eax
	jg	.L3185
	lea	rax, -80[rbp]
	cmp	QWORD PTR -152[rbp], rax
	je	.L3158
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	Jim_Free
	lea	rax, -80[rbp]
	mov	QWORD PTR -152[rbp], rax
.L3158:
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	DWORD PTR -184[rbp], eax
	jge	.L3186
	cmp	DWORD PTR -180[rbp], 0
	je	.L3187
.L3186:
	cmp	DWORD PTR -180[rbp], 1
	jne	.L3188
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimAddErrorToStack
	jmp	.L3189
.L3188:
	cmp	DWORD PTR -180[rbp], 2
	jne	.L3190
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	eax, 1
	je	.L3189
.L3190:
	mov	rax, QWORD PTR -200[rbp]
	mov	DWORD PTR 24[rax], 0
.L3189:
	mov	rax, QWORD PTR -200[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3191
	mov	rax, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3191
	mov	rax, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L3191:
	mov	rax, QWORD PTR -208[rbp]
	lea	rdx, scriptObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3192
	mov	rdx, QWORD PTR -208[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3192:
	mov	eax, DWORD PTR -180[rbp]
.L3193:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3194
	call	__stack_chk_fail@PLT
.L3194:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE436:
	.size	Jim_EvalObj, .-Jim_EvalObj
	.type	JimSetProcArg, @function
JimSetProcArg:
.LFB437:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	jne	.L3198
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 88[rax], rdx
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3199
	mov	eax, 1
	jmp	.L3200
.L3199:
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rcx, QWORD PTR 72[rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_SetVariableLink
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3201
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L3201
.L3198:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -28[rbp], eax
.L3201:
	mov	eax, DWORD PTR -28[rbp]
.L3200:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE437:
	.size	JimSetProcArg, .-JimSetProcArg
	.section	.rodata
.LC339:
	.string	" "
.LC340:
	.string	" ...?"
.LC341:
	.string	"?arg...?"
	.align 8
.LC342:
	.string	"wrong # args: should be \"%#s%#s\""
	.text
	.type	JimSetProcWrongArgs, @function
JimSetProcWrongArgs:
.LFB438:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L3203
.L3209:
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 1
	lea	rdx, .LC339[rip]
	mov	rdi, rax
	call	Jim_AppendString
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	DWORD PTR -20[rbp], eax
	jne	.L3204
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3205
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 1
	lea	rdx, .LC279[rip]
	mov	rdi, rax
	call	Jim_AppendString
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, -1
	lea	rdx, .LC340[rip]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L3206
.L3205:
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, -1
	lea	rdx, .LC341[rip]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L3206
.L3204:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3207
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 1
	lea	rdx, .LC279[rip]
	mov	rdi, rax
	call	Jim_AppendString
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, 1
	lea	rdx, .LC279[rip]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L3206
.L3207:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 38
	jne	.L3208
	add	QWORD PTR -16[rbp], 1
.L3208:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	Jim_AppendString
.L3206:
	add	DWORD PTR -20[rbp], 1
.L3203:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -20[rbp], eax
	jl	.L3209
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC342[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE438:
	.size	JimSetProcWrongArgs, .-JimSetProcWrongArgs
	.section	.rodata
	.align 8
.LC343:
	.string	"Too many nested calls. Infinite recursion?"
	.text
	.type	JimCallProcedure, @function
JimCallProcedure:
.LFB439:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	DWORD PTR -100[rbp], edx
	mov	QWORD PTR -112[rbp], rcx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 44[rax]
	cmp	DWORD PTR -100[rbp], eax
	jle	.L3211
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 52[rax]
	test	eax, eax
	jns	.L3212
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	eax, ecx
	cmp	edx, eax
	jle	.L3212
.L3211:
	mov	rax, QWORD PTR -112[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimSetProcWrongArgs
	mov	eax, 1
	jmp	.L3213
.L3212:
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	jne	.L3214
	mov	eax, 0
	jmp	.L3213
.L3214:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 28[rax]
	cmp	edx, eax
	jne	.L3215
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC343[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3216
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3216:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L3213
.L3215:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 88[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimCreateCallFrame
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -100[rbp]
	mov	DWORD PTR 88[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 96[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 104[rax], rdx
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetScript
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 128[rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 136[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, DWORD PTR 44[rax]
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -56[rbp], eax
	mov	DWORD PTR -68[rbp], 1
	mov	DWORD PTR -64[rbp], 0
	jmp	.L3217
.L3227:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	DWORD PTR -64[rbp], eax
	jne	.L3218
	mov	DWORD PTR -52[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	edx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	edx, eax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	cmp	edx, eax
	jge	.L3219
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	ecx, DWORD PTR 44[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 48[rax]
	add	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -52[rbp], eax
.L3219:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	lea	rcx, [rdx+rax]
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3220
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
.L3220:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L3235
	mov	eax, DWORD PTR -52[rbp]
	add	DWORD PTR -68[rbp], eax
	jmp	.L3223
.L3218:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3224
	mov	eax, DWORD PTR -56[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -56[rbp], edx
	test	eax, eax
	jle	.L3225
.L3224:
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -68[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimSetProcArg
	mov	DWORD PTR -60[rbp], eax
	jmp	.L3226
.L3225:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 64[rax]
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -60[rbp], eax
.L3226:
	cmp	DWORD PTR -60[rbp], 0
	jne	.L3236
.L3223:
	add	DWORD PTR -64[rbp], 1
.L3217:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 40[rax]
	cmp	DWORD PTR -64[rbp], eax
	jl	.L3227
	mov	rax, QWORD PTR -96[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -60[rbp], eax
	jmp	.L3222
.L3235:
	nop
	jmp	.L3222
.L3236:
	nop
.L3222:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	JimFreeCallFrame
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 152[rax]
	test	rax, rax
	je	.L3228
.L3231:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 152[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR 152[rax], 0
	cmp	DWORD PTR -60[rbp], 7
	jne	.L3229
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObjList
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 2
	jne	.L3229
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 44[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 44[rax], edx
.L3229:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3230
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3230:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 152[rax]
	test	rax, rax
	jne	.L3231
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 160[rax]
	test	rax, rax
	je	.L3228
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdx, QWORD PTR 160[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR 160[rax], 0
.L3228:
	cmp	DWORD PTR -60[rbp], 2
	jne	.L3232
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 44[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jg	.L3233
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 44[rax], 0
	jmp	.L3233
.L3232:
	cmp	DWORD PTR -60[rbp], 1
	jne	.L3233
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3234
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 312[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3234:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 312[rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 312[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L3233:
	mov	eax, DWORD PTR -60[rbp]
.L3213:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE439:
	.size	JimCallProcedure, .-JimCallProcedure
	.globl	Jim_EvalSource
	.type	Jim_EvalSource, @function
Jim_EvalSource:
.LFB440:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	DWORD PTR -52[rbp], edx
	mov	QWORD PTR -64[rbp], rcx
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	cmp	QWORD PTR -48[rbp], 0
	je	.L3238
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdi, rax
	mov	edx, DWORD PTR -52[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, edx
	mov	rdx, rdi
	mov	rdi, rax
	call	JimSetSourceInfo
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 192[rax], rdx
	jmp	.L3239
.L3238:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -20[rbp], eax
.L3239:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3240
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3240:
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE440:
	.size	Jim_EvalSource, .-Jim_EvalSource
	.globl	Jim_Eval
	.type	Jim_Eval, @function
Jim_Eval:
.LFB441:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE441:
	.size	Jim_Eval, .-Jim_Eval
	.globl	Jim_EvalGlobal
	.type	Jim_EvalGlobal, @function
Jim_EvalGlobal:
.LFB442:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Eval
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE442:
	.size	Jim_EvalGlobal, .-Jim_EvalGlobal
	.globl	Jim_EvalFileGlobal
	.type	Jim_EvalFileGlobal, @function
Jim_EvalFileGlobal:
.LFB443:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalFile
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	eax, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE443:
	.size	Jim_EvalFileGlobal, .-Jim_EvalFileGlobal
	.section	.rodata
.LC344:
	.string	"rt"
.LC345:
	.string	"failed to load file \"%s\": %s"
	.text
	.globl	Jim_EvalFile
	.type	Jim_EvalFile, @function
Jim_EvalFile:
.LFB444:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 224
	mov	QWORD PTR -216[rbp], rdi
	mov	QWORD PTR -224[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L3249
	mov	rax, QWORD PTR -224[rbp]
	lea	rsi, .LC344[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -192[rbp], rax
	cmp	QWORD PTR -192[rbp], 0
	jne	.L3250
.L3249:
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC156[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3257
.L3250:
	mov	rax, QWORD PTR -112[rbp]
	test	rax, rax
	jne	.L3252
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L3257
.L3252:
	mov	rax, QWORD PTR -112[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rax
	mov	rdx, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR -184[rbp]
	mov	rcx, rdx
	mov	rdx, rsi
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -196[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L3253
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -184[rbp]
	mov	rdi, rax
	call	Jim_Free
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rcx, rax
	mov	rdx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC345[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3257
.L3253:
	mov	rax, QWORD PTR -192[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -196[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	edx, DWORD PTR -196[rbp]
	mov	rcx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	QWORD PTR -176[rbp], rax
	mov	rcx, QWORD PTR -224[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rsi, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	JimSetSourceInfo
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR 192[rax]
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -200[rbp], eax
	cmp	DWORD PTR -200[rbp], 2
	jne	.L3254
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 44[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 44[rax]
	test	eax, eax
	jg	.L3254
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 40[rax]
	mov	DWORD PTR -200[rbp], eax
	mov	rax, QWORD PTR -216[rbp]
	mov	DWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -216[rbp]
	mov	DWORD PTR 44[rax], 0
.L3254:
	cmp	DWORD PTR -200[rbp], 1
	jne	.L3255
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	DWORD PTR 24[rax], edx
.L3255:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR 192[rax], rdx
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3256
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3256:
	mov	eax, DWORD PTR -200[rbp]
.L3257:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3258
	call	__stack_chk_fail@PLT
.L3258:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE444:
	.size	Jim_EvalFile, .-Jim_EvalFile
	.type	JimParseSubst, @function
JimParseSubst:
.LFB445:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 32[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L3260
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], 7
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 40[rax], 1
	jmp	.L3259
.L3260:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L3262
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L3262
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseCmd
	jmp	.L3259
.L3262:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L3265
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L3265
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimParseVar
	test	eax, eax
	je	.L3273
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	or	DWORD PTR -12[rbp], 1
	jmp	.L3265
.L3270:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L3266
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 1
	test	eax, eax
	je	.L3274
.L3266:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 91
	jne	.L3268
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 2
	test	eax, eax
	je	.L3275
.L3268:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L3269
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 1
	jle	.L3269
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L3269:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
.L3265:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L3270
	jmp	.L3267
.L3274:
	nop
	jmp	.L3267
.L3275:
	nop
.L3267:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 4
	test	eax, eax
	je	.L3271
	mov	edx, 1
	jmp	.L3272
.L3271:
	mov	edx, 2
.L3272:
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 36[rax], edx
	jmp	.L3259
.L3273:
	nop
.L3259:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE445:
	.size	JimParseSubst, .-JimParseSubst
	.type	SetSubstFromAny, @function
SetSubstFromAny:
.LFB446:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 640
	mov	QWORD PTR -616[rbp], rdi
	mov	QWORD PTR -624[rbp], rsi
	mov	DWORD PTR -628[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -596[rbp]
	mov	rax, QWORD PTR -624[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -592[rbp], rax
	mov	edi, 40
	call	Jim_Alloc
	mov	QWORD PTR -584[rbp], rax
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListInit
	mov	edx, DWORD PTR -596[rbp]
	mov	rsi, QWORD PTR -592[rbp]
	lea	rax, -576[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	JimParserInit
.L3279:
	mov	edx, DWORD PTR -628[rbp]
	lea	rax, -576[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	JimParseSubst
	mov	eax, DWORD PTR -536[rbp]
	test	eax, eax
	jne	.L3284
	mov	ecx, DWORD PTR -544[rbp]
	mov	edx, DWORD PTR -540[rbp]
	mov	rax, QWORD PTR -552[rbp]
	mov	rsi, QWORD PTR -560[rbp]
	sub	rax, rsi
	add	eax, 1
	mov	edi, eax
	mov	rsi, QWORD PTR -560[rbp]
	lea	rax, -512[rbp]
	mov	r8d, ecx
	mov	ecx, edx
	mov	edx, edi
	mov	rdi, rax
	call	ScriptAddToken
	jmp	.L3279
.L3284:
	nop
	mov	rax, QWORD PTR -584[rbp]
	mov	DWORD PTR 24[rax], 1
	mov	rax, QWORD PTR -584[rbp]
	mov	edx, DWORD PTR -628[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	rax, QWORD PTR -616[rbp]
	mov	rdx, QWORD PTR 208[rax]
	mov	rax, QWORD PTR -584[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -584[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	lea	rdx, -512[rbp]
	mov	rcx, QWORD PTR -584[rbp]
	mov	rax, QWORD PTR -616[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	SubstObjAddTokens
	lea	rax, -512[rbp]
	mov	rdi, rax
	call	ScriptTokenListFree
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3280
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L3280
	mov	rax, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -624[rbp]
	mov	rax, QWORD PTR -616[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
.L3280:
	mov	rax, QWORD PTR -624[rbp]
	mov	rdx, QWORD PTR -584[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -624[rbp]
	lea	rdx, scriptObjType[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3282
	call	__stack_chk_fail@PLT
.L3282:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE446:
	.size	SetSubstFromAny, .-SetSubstFromAny
	.type	Jim_GetSubst, @function
Jim_GetSubst:
.LFB447:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, scriptObjType[rip]
	cmp	rax, rdx
	jne	.L3286
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 20[rax]
	cmp	DWORD PTR -20[rbp], eax
	je	.L3287
.L3286:
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	SetSubstFromAny
.L3287:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE447:
	.size	Jim_GetSubst, .-Jim_GetSubst
	.globl	Jim_SubstObj
	.type	Jim_SubstObj, @function
Jim_SubstObj:
.LFB448:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetSubst
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	ecx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	JimInterpolateTokens
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3290
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3290:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L3291
	mov	eax, 1
	jmp	.L3292
.L3291:
	mov	eax, 0
.L3292:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE448:
	.size	Jim_SubstObj, .-Jim_SubstObj
	.section	.rodata
.LC346:
	.string	"wrong # args: should be \"%#s\""
	.text
	.globl	Jim_WrongNumArgs
	.type	Jim_WrongNumArgs, @function
Jim_WrongNumArgs:
.LFB449:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	edx, DWORD PTR -28[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L3294
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L3294:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 1
	lea	rdx, .LC339[rip]
	mov	rdi, rax
	call	Jim_ListJoin
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3295
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3295:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC346[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3297
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3297:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE449:
	.size	Jim_WrongNumArgs, .-Jim_WrongNumArgs
	.section	.rodata
.LC347:
	.string	"*[?\\"
	.text
	.type	JimHashtablePatternMatch, @function
JimHashtablePatternMatch:
.LFB450:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	DWORD PTR -116[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -80[rbp], rax
	cmp	QWORD PTR -104[rbp], 0
	je	.L3299
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_String
	lea	rsi, .LC347[rip]
	mov	rdi, rax
	call	strpbrk@PLT
	test	rax, rax
	jne	.L3299
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FindHashEntry
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	je	.L3301
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	r8
	jmp	.L3301
.L3299:
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimInitHashTableIterator
	jmp	.L3302
.L3304:
	cmp	QWORD PTR -104[rbp], 0
	je	.L3303
	mov	rax, QWORD PTR -72[rbp]
	mov	rbx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	edx, 0
	mov	rsi, rbx
	mov	rdi, rax
	call	JimGlobMatch
	test	eax, eax
	je	.L3302
.L3303:
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	r8
.L3302:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	Jim_NextHashEntry
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L3304
.L3301:
	mov	rax, QWORD PTR -80[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L3306
	call	__stack_chk_fail@PLT
.L3306:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE450:
	.size	JimHashtablePatternMatch, .-JimHashtablePatternMatch
	.type	JimCommandMatch, @function
JimCommandMatch:
.LFB451:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -44[rbp], 1
	jne	.L3308
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L3312
.L3308:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	cmp	DWORD PTR -44[rbp], 2
	jne	.L3310
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_AioFilehandle
	test	rax, rax
	je	.L3311
.L3310:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L3311:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3307
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L3307
.L3312:
	nop
.L3307:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE451:
	.size	JimCommandMatch, .-JimCommandMatch
	.type	JimCommandsList, @function
JimCommandsList:
.LFB452:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, 104[rax]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, ecx
	lea	rcx, JimCommandMatch[rip]
	mov	rdi, rax
	call	JimHashtablePatternMatch
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE452:
	.size	JimCommandsList, .-JimCommandsList
	.type	JimVariablesMatch, @function
JimVariablesMatch:
.LFB453:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	DWORD PTR -44[rbp], 1
	jne	.L3316
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L3318
.L3316:
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 4096
	test	eax, eax
	je	.L3318
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L3318:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE453:
	.size	JimVariablesMatch, .-JimVariablesMatch
	.type	JimVariablesList, @function
JimVariablesList:
.LFB454:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	cmp	DWORD PTR -36[rbp], 1
	jne	.L3320
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	cmp	rdx, rax
	jne	.L3320
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 208[rax]
	jmp	.L3321
.L3320:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L3322
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	jmp	.L3323
.L3322:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
.L3323:
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, 16[rax]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, ecx
	lea	rcx, JimVariablesMatch[rip]
	mov	rdi, rax
	call	JimHashtablePatternMatch
.L3321:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE454:
	.size	JimVariablesList, .-JimVariablesList
	.type	JimInfoLevel, @function
JimInfoLevel:
.LFB455:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetCallFrameByInteger
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3325
	mov	eax, 1
	jmp	.L3326
.L3325:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 96[rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L3327
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC249[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3326
.L3327:
	cmp	DWORD PTR -44[rbp], 0
	je	.L3328
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR 88[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L3329
.L3328:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 128[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 136[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L3329:
	mov	eax, 0
.L3326:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE455:
	.size	JimInfoLevel, .-JimInfoLevel
	.section	.rodata
.LC348:
	.string	"?-nonewline? string"
	.align 8
.LC349:
	.string	"The second argument must be -nonewline"
	.text
	.type	Jim_PutsCoreCommand, @function
Jim_PutsCoreCommand:
.LFB456:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 2
	je	.L3331
	cmp	DWORD PTR -44[rbp], 3
	je	.L3331
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC348[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3332
.L3331:
	cmp	DWORD PTR -44[rbp], 3
	jne	.L3333
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC17[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	jne	.L3334
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC349[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3335
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3335:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L3332
.L3334:
	mov	rbx, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rsi, rbx
	mov	rdi, rax
	call	fputs@PLT
	jmp	.L3336
.L3333:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdi, rax
	call	puts@PLT
.L3336:
	mov	eax, 0
.L3332:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE456:
	.size	Jim_PutsCoreCommand, .-Jim_PutsCoreCommand
	.type	JimAddMulHelper, @function
JimAddMulHelper:
.LFB457:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	DWORD PTR -80[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -80[rbp], 24
	setne	al
	movzx	eax, al
	mov	QWORD PTR -40[rbp], rax
	mov	DWORD PTR -60[rbp], 1
	jmp	.L3338
.L3343:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L3355
	cmp	DWORD PTR -80[rbp], 24
	jne	.L3341
	mov	rax, QWORD PTR -56[rbp]
	add	QWORD PTR -40[rbp], rax
	jmp	.L3342
.L3341:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	imul	rax, rdx
	mov	QWORD PTR -40[rbp], rax
.L3342:
	add	DWORD PTR -60[rbp], 1
.L3338:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L3343
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3344
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3344:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3352
.L3355:
	nop
.L3340:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	jmp	.L3346
.L3350:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	je	.L3347
	mov	eax, 1
	jmp	.L3352
.L3347:
	cmp	DWORD PTR -80[rbp], 24
	jne	.L3348
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	jmp	.L3349
.L3348:
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
.L3349:
	add	DWORD PTR -60[rbp], 1
.L3346:
	mov	eax, DWORD PTR -60[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L3350
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3351
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3351:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3352:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3353
	call	__stack_chk_fail@PLT
.L3353:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE457:
	.size	JimAddMulHelper, .-JimAddMulHelper
	.section	.rodata
.LC350:
	.string	"number ?number ... number?"
	.text
	.type	JimSubDivHelper, @function
JimSubDivHelper:
.LFB458:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	DWORD PTR -112[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -72[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	mov	DWORD PTR -84[rbp], 2
	cmp	DWORD PTR -108[rbp], 1
	jg	.L3357
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rcx, .LC350[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3384
.L3357:
	cmp	DWORD PTR -108[rbp], 2
	jne	.L3359
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L3360
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	je	.L3361
	mov	eax, 1
	jmp	.L3384
.L3361:
	cmp	DWORD PTR -112[rbp], 23
	jne	.L3362
	movsd	xmm0, QWORD PTR -64[rbp]
	movq	xmm1, QWORD PTR .LC282[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L3363
.L3362:
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC256[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
.L3363:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3364
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3364:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3384
.L3360:
	cmp	DWORD PTR -112[rbp], 23
	jne	.L3365
	mov	rax, QWORD PTR -80[rbp]
	neg	rax
	mov	QWORD PTR -72[rbp], rax
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3366
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3366:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3367
.L3365:
	mov	rax, QWORD PTR -80[rbp]
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	movsd	xmm0, QWORD PTR .LC256[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3368
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3368:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
.L3367:
	mov	eax, 0
	jmp	.L3384
.L3359:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L3369
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	je	.L3386
	mov	eax, 1
	jmp	.L3384
.L3369:
	mov	DWORD PTR -84[rbp], 2
	jmp	.L3372
.L3376:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L3373
	mov	rax, QWORD PTR -72[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L3371
.L3373:
	cmp	DWORD PTR -112[rbp], 23
	jne	.L3374
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	sub	rax, rdx
	mov	QWORD PTR -72[rbp], rax
	jmp	.L3375
.L3374:
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	cqo
	idiv	rcx
	mov	QWORD PTR -72[rbp], rax
.L3375:
	add	DWORD PTR -84[rbp], 1
.L3372:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L3376
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3377
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3377:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3384
.L3386:
	nop
.L3371:
	jmp	.L3378
.L3382:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	je	.L3379
	mov	eax, 1
	jmp	.L3384
.L3379:
	cmp	DWORD PTR -112[rbp], 23
	jne	.L3380
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L3381
.L3380:
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR -64[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
.L3381:
	add	DWORD PTR -84[rbp], 1
.L3378:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L3382
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	movq	xmm0, rdx
	mov	rdi, rax
	call	Jim_NewDoubleObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3383
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3383:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3384:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3385
	call	__stack_chk_fail@PLT
.L3385:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE458:
	.size	JimSubDivHelper, .-JimSubDivHelper
	.type	Jim_AddCoreCommand, @function
Jim_AddCoreCommand:
.LFB459:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 24
	mov	rdi, rax
	call	JimAddMulHelper
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE459:
	.size	Jim_AddCoreCommand, .-Jim_AddCoreCommand
	.type	Jim_MulCoreCommand, @function
Jim_MulCoreCommand:
.LFB460:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 20
	mov	rdi, rax
	call	JimAddMulHelper
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE460:
	.size	Jim_MulCoreCommand, .-Jim_MulCoreCommand
	.type	Jim_SubCoreCommand, @function
Jim_SubCoreCommand:
.LFB461:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 23
	mov	rdi, rax
	call	JimSubDivHelper
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE461:
	.size	Jim_SubCoreCommand, .-Jim_SubCoreCommand
	.type	Jim_DivCoreCommand, @function
Jim_DivCoreCommand:
.LFB462:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 21
	mov	rdi, rax
	call	JimSubDivHelper
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE462:
	.size	Jim_DivCoreCommand, .-Jim_DivCoreCommand
	.section	.rodata
.LC351:
	.string	"varName ?newValue?"
	.text
	.type	Jim_SetCoreCommand, @function
Jim_SetCoreCommand:
.LFB463:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 2
	je	.L3396
	cmp	DWORD PTR -44[rbp], 3
	je	.L3396
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC351[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3397
.L3396:
	cmp	DWORD PTR -44[rbp], 2
	jne	.L3398
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3399
	mov	eax, 1
	jmp	.L3397
.L3399:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3400
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3400:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3397
.L3398:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3401
	mov	eax, 1
	jmp	.L3397
.L3401:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3402
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3402:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3397:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE463:
	.size	Jim_SetCoreCommand, .-Jim_SetCoreCommand
	.type	Jim_UnsetCoreCommand, @function
Jim_UnsetCoreCommand:
.LFB464:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -8[rbp], 1
	mov	DWORD PTR -4[rbp], 1
	jmp	.L3404
.L3408:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC97[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3405
	add	DWORD PTR -8[rbp], 1
	jmp	.L3406
.L3405:
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC60[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3413
	mov	DWORD PTR -4[rbp], 0
	add	DWORD PTR -8[rbp], 1
	nop
.L3404:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3408
	jmp	.L3409
.L3413:
	nop
.L3406:
	jmp	.L3409
.L3412:
	cmp	DWORD PTR -4[rbp], 0
	setne	al
	movzx	edx, al
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_UnsetVariable
	test	eax, eax
	je	.L3410
	cmp	DWORD PTR -4[rbp], 0
	je	.L3410
	mov	eax, 1
	jmp	.L3411
.L3410:
	add	DWORD PTR -8[rbp], 1
.L3409:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3412
	mov	eax, 0
.L3411:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE464:
	.size	Jim_UnsetCoreCommand, .-Jim_UnsetCoreCommand
	.section	.rodata
.LC352:
	.string	"condition body"
	.text
	.type	Jim_WhileCoreCommand, @function
Jim_WhileCoreCommand:
.LFB465:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 3
	je	.L3415
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC352[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3416
.L3415:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetBoolFromExpr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L3417
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L3416
.L3417:
	mov	eax, DWORD PTR -24[rbp]
	test	eax, eax
	je	.L3428
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L3415
	cmp	DWORD PTR -20[rbp], 3
	je	.L3429
	cmp	DWORD PTR -20[rbp], 4
	je	.L3430
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L3416
.L3430:
	nop
	jmp	.L3415
.L3428:
	nop
	jmp	.L3420
.L3429:
	nop
.L3420:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3426
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3426:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3416:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3427
	call	__stack_chk_fail@PLT
.L3427:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE465:
	.size	Jim_WhileCoreCommand, .-Jim_WhileCoreCommand
	.section	.rodata
.LC353:
	.string	"start test next body"
.LC354:
	.string	"incr"
	.text
	.type	Jim_ForCoreCommand, @function
Jim_ForCoreCommand:
.LFB466:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -84[rbp], 1
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	cmp	DWORD PTR -108[rbp], 5
	je	.L3432
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rcx, .LC353[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3472
.L3432:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	je	.L3434
	mov	eax, DWORD PTR -80[rbp]
	jmp	.L3472
.L3434:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -84[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetBoolFromExpr
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	jne	.L3475
	mov	eax, DWORD PTR -84[rbp]
	test	eax, eax
	je	.L3475
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetExpression
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetScript
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L3476
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 3
	jne	.L3476
	cmp	QWORD PTR -40[rbp], 0
	je	.L3476
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	jne	.L3476
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 2
	jne	.L3477
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	jne	.L3477
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 14
	je	.L3440
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 3
	jne	.L3477
.L3440:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 29
	jne	.L3441
	mov	DWORD PTR -76[rbp], 0
	jmp	.L3442
.L3441:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 31
	jne	.L3478
	mov	DWORD PTR -76[rbp], 1
.L3442:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC354[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3479
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 32
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StringEqObj
	test	eax, eax
	je	.L3480
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 14
	jne	.L3446
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -72[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	cmp	eax, 1
	jne	.L3447
	jmp	.L3435
.L3446:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	QWORD PTR -72[rbp], 0
.L3447:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L3481
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L3481
	jmp	.L3451
.L3462:
	cmp	QWORD PTR -48[rbp], 0
	je	.L3452
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L3482
	lea	rdx, -72[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L3482
.L3452:
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	cmp	rdx, rax
	jle	.L3483
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 32
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	je	.L3456
	cmp	DWORD PTR -80[rbp], 4
	jne	.L3451
.L3456:
	mov	DWORD PTR -80[rbp], 0
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L3457
	mov	DWORD PTR -80[rbp], 1
	jmp	.L3464
.L3457:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jg	.L3459
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	jne	.L3459
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	jmp	.L3451
.L3459:
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L3484
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 1
	mov	QWORD PTR -64[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	jne	.L3484
.L3451:
	cmp	DWORD PTR -80[rbp], 0
	je	.L3462
	jmp	.L3464
.L3483:
	nop
	jmp	.L3464
.L3475:
	nop
	jmp	.L3465
.L3476:
	nop
	jmp	.L3465
.L3477:
	nop
	jmp	.L3465
.L3478:
	nop
	jmp	.L3465
.L3479:
	nop
	jmp	.L3465
.L3480:
	nop
.L3435:
	jmp	.L3465
.L3466:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 32
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	je	.L3485
	cmp	DWORD PTR -80[rbp], 4
	jne	.L3465
	jmp	.L3485
.L3484:
	nop
	jmp	.L3461
.L3485:
	nop
.L3461:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	je	.L3486
	cmp	DWORD PTR -80[rbp], 4
	jne	.L3465
	jmp	.L3486
.L3481:
	nop
	jmp	.L3463
.L3482:
	nop
	jmp	.L3463
.L3486:
	nop
.L3463:
	mov	rax, QWORD PTR -120[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -84[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetBoolFromExpr
	mov	DWORD PTR -80[rbp], eax
.L3465:
	mov	eax, DWORD PTR -84[rbp]
	test	eax, eax
	je	.L3487
	cmp	DWORD PTR -80[rbp], 0
	je	.L3466
	cmp	DWORD PTR -80[rbp], 4
	je	.L3466
.L3487:
	nop
.L3464:
	cmp	QWORD PTR -48[rbp], 0
	je	.L3467
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3467
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3467:
	cmp	QWORD PTR -56[rbp], 0
	je	.L3468
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3468
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3468:
	cmp	DWORD PTR -80[rbp], 4
	je	.L3469
	cmp	DWORD PTR -80[rbp], 3
	je	.L3469
	cmp	DWORD PTR -80[rbp], 0
	jne	.L3470
.L3469:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3471
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3471:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3472
.L3470:
	mov	eax, DWORD PTR -80[rbp]
.L3472:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3473
	call	__stack_chk_fail@PLT
.L3473:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE466:
	.size	Jim_ForCoreCommand, .-Jim_ForCoreCommand
	.section	.rodata
.LC355:
	.string	"var first limit ?incr? body"
	.text
	.type	Jim_LoopCoreCommand, @function
Jim_LoopCoreCommand:
.LFB467:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -40[rbp], 1
	cmp	DWORD PTR -76[rbp], 5
	je	.L3489
	cmp	DWORD PTR -76[rbp], 6
	je	.L3489
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC355[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3507
.L3489:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L3491
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L3491
	cmp	DWORD PTR -76[rbp], 6
	jne	.L3492
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L3492
.L3491:
	mov	eax, 1
	jmp	.L3507
.L3492:
	cmp	DWORD PTR -76[rbp], 5
	jne	.L3493
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 32[rax]
	jmp	.L3494
.L3493:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 40[rax]
.L3494:
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -60[rbp], eax
	jmp	.L3495
.L3503:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	je	.L3496
	cmp	DWORD PTR -60[rbp], 4
	jne	.L3495
.L3496:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L3497
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jg	.L3497
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, intObjType[rip]
	cmp	rax, rdx
	jne	.L3497
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, variableObjType[rip]
	cmp	rax, rdx
	je	.L3498
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3498
	mov	eax, 1
	jmp	.L3507
.L3498:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_InvalidateStringRep
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, variableObjType[rip]
	cmp	rax, rdx
	je	.L3495
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3495
	mov	DWORD PTR -60[rbp], 1
	jmp	.L3500
.L3497:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	je	.L3495
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3495:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	cmp	rdx, rax
	jge	.L3501
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jg	.L3502
.L3501:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	cmp	rdx, rax
	jle	.L3500
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jns	.L3500
.L3502:
	cmp	DWORD PTR -60[rbp], 0
	je	.L3503
.L3500:
	cmp	DWORD PTR -60[rbp], 0
	je	.L3504
	cmp	DWORD PTR -60[rbp], 4
	je	.L3504
	cmp	DWORD PTR -60[rbp], 3
	jne	.L3505
.L3504:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3506
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3506:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3507
.L3505:
	mov	eax, DWORD PTR -60[rbp]
.L3507:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L3508
	call	__stack_chk_fail@PLT
.L3508:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE467:
	.size	Jim_LoopCoreCommand, .-Jim_LoopCoreCommand
	.type	JimListIterInit, @function
JimListIterInit:
.LFB468:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE468:
	.size	JimListIterInit, .-JimListIterInit
	.type	JimListIterNext, @function
JimListIterNext:
.LFB469:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	ebx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	cmp	ebx, eax
	jl	.L3511
	mov	eax, 0
	jmp	.L3512
.L3511:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rdx], ecx
	cdqe
	sal	rax, 3
	add	rax, rsi
	mov	rax, QWORD PTR [rax]
.L3512:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE469:
	.size	JimListIterNext, .-JimListIterNext
	.type	JimListIterDone, @function
JimListIterDone:
.LFB470:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	ebx, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	cmp	ebx, eax
	setge	al
	movzx	eax, al
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE470:
	.size	JimListIterDone, .-JimListIterDone
	.section	.rodata
	.align 8
.LC356:
	.string	"varList list ?varList list ...? script"
.LC357:
	.string	"foreach varlist is empty"
	.text
	.type	JimForeachMapHelper, @function
JimForeachMapHelper:
.LFB471:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	DWORD PTR -140[rbp], esi
	mov	QWORD PTR -152[rbp], rdx
	mov	DWORD PTR -144[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -116[rbp], 0
	cmp	DWORD PTR -140[rbp], 3
	jle	.L3516
	mov	eax, DWORD PTR -140[rbp]
	and	eax, 1
	test	eax, eax
	je	.L3517
.L3516:
	mov	rdx, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR -136[rbp]
	lea	rcx, .LC356[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3551
.L3517:
	mov	eax, DWORD PTR -140[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, 2
	mov	DWORD PTR -108[rbp], eax
	cmp	DWORD PTR -108[rbp], 2
	jne	.L3519
	lea	rax, -48[rbp]
	mov	QWORD PTR -104[rbp], rax
	jmp	.L3520
.L3519:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	sal	eax, 4
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -104[rbp], rax
.L3520:
	mov	DWORD PTR -112[rbp], 0
	jmp	.L3521
.L3523:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	mov	rdx, QWORD PTR -104[rbp]
	add	rdx, rcx
	mov	rsi, rax
	mov	rdi, rdx
	call	JimListIterInit
	mov	eax, DWORD PTR -112[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L3522
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterDone
	test	eax, eax
	je	.L3522
	mov	DWORD PTR -116[rbp], 1
.L3522:
	add	DWORD PTR -112[rbp], 1
.L3521:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L3523
	cmp	DWORD PTR -116[rbp], 0
	je	.L3524
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, -1
	lea	rsi, .LC357[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3525
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3525:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, DWORD PTR -116[rbp]
	jmp	.L3551
.L3524:
	cmp	DWORD PTR -144[rbp], 0
	je	.L3526
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -96[rbp], rax
	jmp	.L3527
.L3526:
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -96[rbp], rax
.L3527:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 16[rax], edx
.L3547:
	mov	DWORD PTR -112[rbp], 0
	jmp	.L3528
.L3531:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterDone
	test	eax, eax
	je	.L3553
	add	DWORD PTR -112[rbp], 2
.L3528:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L3531
	jmp	.L3530
.L3553:
	nop
.L3530:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	je	.L3554
	mov	DWORD PTR -112[rbp], 0
	jmp	.L3534
.L3540:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	movsx	rdx, edx
	mov	rcx, rdx
	sal	rcx, 4
	mov	rdx, QWORD PTR -104[rbp]
	add	rdx, rcx
	mov	rsi, rax
	mov	rdi, rdx
	call	JimListIterInit
	jmp	.L3535
.L3539:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterNext
	mov	QWORD PTR -88[rbp], rax
	cmp	QWORD PTR -88[rbp], 0
	jne	.L3536
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -88[rbp], rax
.L3536:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	mov	DWORD PTR -116[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3537
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3537:
	cmp	DWORD PTR -116[rbp], 0
	jne	.L3555
.L3535:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterNext
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L3539
	add	DWORD PTR -112[rbp], 2
.L3534:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L3540
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -116[rbp], eax
	cmp	DWORD PTR -116[rbp], 4
	je	.L3556
	cmp	DWORD PTR -116[rbp], 4
	jg	.L3557
	cmp	DWORD PTR -116[rbp], 0
	je	.L3543
	cmp	DWORD PTR -116[rbp], 3
	je	.L3558
	jmp	.L3557
.L3543:
	cmp	DWORD PTR -144[rbp], 0
	je	.L3559
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L3559
.L3556:
	nop
	jmp	.L3547
.L3559:
	nop
	jmp	.L3547
.L3554:
	nop
	jmp	.L3533
.L3558:
	nop
.L3533:
	mov	DWORD PTR -116[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3548
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3548:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3538
.L3555:
	nop
	jmp	.L3538
.L3557:
	nop
.L3538:
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3549
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3549:
	cmp	DWORD PTR -108[rbp], 2
	jle	.L3550
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_Free
.L3550:
	mov	eax, DWORD PTR -116[rbp]
.L3551:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3552
	call	__stack_chk_fail@PLT
.L3552:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE471:
	.size	JimForeachMapHelper, .-JimForeachMapHelper
	.type	Jim_ForeachCoreCommand, @function
Jim_ForeachCoreCommand:
.LFB472:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	JimForeachMapHelper
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE472:
	.size	Jim_ForeachCoreCommand, .-Jim_ForeachCoreCommand
	.type	Jim_LmapCoreCommand, @function
Jim_LmapCoreCommand:
.LFB473:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	JimForeachMapHelper
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE473:
	.size	Jim_LmapCoreCommand, .-Jim_LmapCoreCommand
	.section	.rodata
.LC358:
	.string	"varList list ?varName ...?"
	.text
	.type	Jim_LassignCoreCommand, @function
Jim_LassignCoreCommand:
.LFB474:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -60[rbp], 1
	cmp	DWORD PTR -76[rbp], 1
	jg	.L3565
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC358[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3575
.L3565:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterInit
	mov	DWORD PTR -64[rbp], 2
	jmp	.L3567
.L3571:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterNext
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L3568
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 208[rax]
	jmp	.L3569
.L3568:
	mov	rax, QWORD PTR -40[rbp]
.L3569:
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -88[rbp]
	add	rdx, rcx
	mov	rsi, QWORD PTR [rdx]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, rax
	mov	rdi, rcx
	call	Jim_SetVariable
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	je	.L3570
	mov	eax, DWORD PTR -60[rbp]
	jmp	.L3575
.L3570:
	add	DWORD PTR -64[rbp], 1
.L3567:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L3571
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -56[rbp], rax
	jmp	.L3572
.L3573:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterNext
	mov	rdx, rax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L3572:
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimListIterDone
	test	eax, eax
	je	.L3573
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3574
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3574:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3575:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3576
	call	__stack_chk_fail@PLT
.L3576:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE474:
	.size	Jim_LassignCoreCommand, .-Jim_LassignCoreCommand
	.section	.rodata
.LC359:
	.string	"then"
.LC360:
	.string	"else"
.LC361:
	.string	"elseif"
	.align 8
.LC362:
	.string	"condition ?then? trueBody ?elseif ...? ?else? falseBody"
	.text
	.type	Jim_IfCoreCommand, @function
Jim_IfCoreCommand:
.LFB475:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 1
	mov	DWORD PTR -24[rbp], 0
	cmp	DWORD PTR -44[rbp], 2
	jle	.L3595
.L3591:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L3596
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -28[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetBoolFromExpr
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L3580
	mov	eax, DWORD PTR -20[rbp]
	jmp	.L3593
.L3580:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L3597
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC359[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3583
	add	DWORD PTR -28[rbp], 1
.L3583:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jge	.L3598
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	je	.L3585
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	jmp	.L3593
.L3585:
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L3586
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3587
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3587:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3593
.L3586:
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -24[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC360[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3588
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	cmp	DWORD PTR -28[rbp], eax
	jne	.L3599
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	jmp	.L3593
.L3588:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC361[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3590
	jmp	.L3591
.L3590:
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	cmp	DWORD PTR -24[rbp], eax
	jne	.L3600
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	jmp	.L3593
.L3595:
	nop
	jmp	.L3578
.L3596:
	nop
	jmp	.L3578
.L3597:
	nop
	jmp	.L3578
.L3598:
	nop
	jmp	.L3578
.L3599:
	nop
	jmp	.L3578
.L3600:
	nop
.L3578:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC362[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
.L3593:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3594
	call	__stack_chk_fail@PLT
.L3594:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE475:
	.size	Jim_IfCoreCommand, .-Jim_IfCoreCommand
	.section	.rodata
.LC363:
	.string	"-nocase"
	.text
	.globl	Jim_CommandMatchObj
	.type	Jim_CommandMatchObj, @function
Jim_CommandMatchObj:
.LFB476:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	DWORD PTR -116[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -80[rbp], 0
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -80[rbp], edx
	cdqe
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR -64[rbp+rax*8], rdx
	cmp	DWORD PTR -116[rbp], 0
	je	.L3602
	mov	ebx, DWORD PTR -80[rbp]
	lea	eax, 1[rbx]
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC363[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	movsx	rdx, ebx
	mov	QWORD PTR -64[rbp+rdx*8], rax
.L3602:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -80[rbp], edx
	cdqe
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR -64[rbp+rax*8], rdx
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -80[rbp], edx
	cdqe
	mov	rdx, QWORD PTR -112[rbp]
	mov	QWORD PTR -64[rbp+rax*8], rdx
	lea	rdx, -64[rbp]
	mov	ecx, DWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_EvalObjVector
	mov	DWORD PTR -76[rbp], eax
	cmp	DWORD PTR -76[rbp], 0
	jne	.L3603
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -72[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L3604
.L3603:
	mov	eax, DWORD PTR -76[rbp]
	neg	eax
	cdqe
	mov	QWORD PTR -72[rbp], rax
.L3604:
	mov	rax, QWORD PTR -72[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L3606
	call	__stack_chk_fail@PLT
.L3606:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE476:
	.size	Jim_CommandMatchObj, .-Jim_CommandMatchObj
	.section	.rodata
	.align 8
.LC364:
	.string	"?options? string pattern body ... ?default body?   or   {pattern body ?pattern body ...?}"
.LC365:
	.string	"-exact"
.LC366:
	.string	"-glob"
.LC367:
	.string	"-regexp"
.LC368:
	.string	"-command"
	.align 8
.LC369:
	.string	"bad option \"%#s\": must be -exact, -glob, -regexp, -command procname or --"
.LC370:
	.string	"default"
	.align 8
.LC371:
	.string	"no body specified for pattern \"%#s\""
	.text
	.type	Jim_SwitchCoreCommand, @function
Jim_SwitchCoreCommand:
.LFB477:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	DWORD PTR -108[rbp], esi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -88[rbp], 0
	mov	DWORD PTR -84[rbp], 1
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	cmp	DWORD PTR -108[rbp], 2
	jg	.L3608
	nop
	jmp	.L3609
.L3652:
	nop
	jmp	.L3609
.L3653:
	nop
	jmp	.L3609
.L3654:
	nop
.L3609:
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rcx, .LC364[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3649
.L3608:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L3611
.L3622:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L3651
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L3614
	add	DWORD PTR -84[rbp], 1
	jmp	.L3613
.L3614:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	lea	rsi, .LC365[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L3615
	mov	DWORD PTR -88[rbp], 0
	jmp	.L3616
.L3615:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	lea	rsi, .LC366[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L3617
	mov	DWORD PTR -88[rbp], 1
	jmp	.L3616
.L3617:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	lea	rsi, .LC367[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L3618
	mov	DWORD PTR -88[rbp], 2
	jmp	.L3616
.L3618:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	lea	rsi, .LC368[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L3619
	mov	DWORD PTR -88[rbp], 3
	mov	eax, DWORD PTR -108[rbp]
	sub	eax, DWORD PTR -84[rbp]
	cmp	eax, 1
	jle	.L3652
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L3616
.L3619:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC369[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3649
.L3616:
	mov	eax, DWORD PTR -108[rbp]
	sub	eax, DWORD PTR -84[rbp]
	cmp	eax, 1
	jle	.L3653
	add	DWORD PTR -84[rbp], 1
.L3611:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jl	.L3622
	jmp	.L3613
.L3651:
	nop
.L3613:
	mov	eax, DWORD PTR -84[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -84[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	sub	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	cmp	eax, 1
	jne	.L3623
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -72[rbp]
	lea	rdx, -92[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	JimListGetElements
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L3624
.L3623:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	QWORD PTR -56[rbp], rax
.L3624:
	mov	eax, DWORD PTR -92[rbp]
	test	eax, eax
	je	.L3654
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L3654
	mov	DWORD PTR -80[rbp], 0
	jmp	.L3627
.L3642:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC370[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3628
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, 2
	cmp	DWORD PTR -80[rbp], eax
	jge	.L3629
.L3628:
	cmp	DWORD PTR -88[rbp], 3
	je	.L3630
	cmp	DWORD PTR -88[rbp], 3
	jg	.L3640
	cmp	DWORD PTR -88[rbp], 2
	je	.L3632
	cmp	DWORD PTR -88[rbp], 2
	jg	.L3640
	cmp	DWORD PTR -88[rbp], 0
	je	.L3633
	cmp	DWORD PTR -88[rbp], 1
	je	.L3634
	jmp	.L3640
.L3633:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StringEqObj
	test	eax, eax
	je	.L3655
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L3655
.L3634:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_StringMatchObj
	test	eax, eax
	je	.L3656
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L3656
.L3632:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, -1
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -64[rbp], rax
.L3630:
	mov	rcx, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	Jim_CommandMatchObj
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	sub	eax, DWORD PTR -84[rbp]
	cmp	eax, 1
	jne	.L3637
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -72[rbp]
	lea	rdx, -92[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	JimListGetElements
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -56[rbp], rax
.L3637:
	cmp	DWORD PTR -76[rbp], 0
	jns	.L3638
	mov	eax, DWORD PTR -76[rbp]
	neg	eax
	jmp	.L3649
.L3638:
	cmp	DWORD PTR -76[rbp], 0
	je	.L3657
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L3657
.L3655:
	nop
	jmp	.L3640
.L3656:
	nop
	jmp	.L3640
.L3657:
	nop
	jmp	.L3640
.L3629:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
.L3640:
	add	DWORD PTR -80[rbp], 2
.L3627:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L3643
	mov	eax, DWORD PTR -92[rbp]
	cmp	DWORD PTR -80[rbp], eax
	jl	.L3642
	jmp	.L3643
.L3645:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	add	DWORD PTR -80[rbp], 2
.L3643:
	mov	eax, DWORD PTR -92[rbp]
	cmp	DWORD PTR -80[rbp], eax
	jge	.L3644
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC289[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	jne	.L3645
.L3644:
	cmp	QWORD PTR -48[rbp], 0
	je	.L3646
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC289[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3646
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -16[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	lea	rsi, .LC371[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3649
.L3646:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3647
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3647:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	cmp	QWORD PTR -48[rbp], 0
	je	.L3648
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	jmp	.L3649
.L3648:
	mov	eax, 0
.L3649:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3650
	call	__stack_chk_fail@PLT
.L3650:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE477:
	.size	Jim_SwitchCoreCommand, .-Jim_SwitchCoreCommand
	.type	Jim_ListCoreCommand, @function
Jim_ListCoreCommand:
.LFB478:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3659
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3659:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE478:
	.size	Jim_ListCoreCommand, .-Jim_ListCoreCommand
	.section	.rodata
.LC372:
	.string	"list ?index ...?"
	.text
	.type	Jim_LindexCoreCommand, @function
Jim_LindexCoreCommand:
.LFB479:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 1
	jg	.L3662
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC372[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3674
.L3662:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	DWORD PTR -44[rbp], 2
	jmp	.L3664
.L3671:
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L3665
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3666
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3666:
	mov	eax, 1
	jmp	.L3674
.L3665:
	mov	edx, DWORD PTR -48[rbp]
	lea	rcx, -40[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	Jim_ListIndex
	test	eax, eax
	je	.L3667
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3668
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3668:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3669
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3669:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3674
.L3667:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3670
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3670:
	add	DWORD PTR -44[rbp], 1
.L3664:
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L3671
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3672
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3672:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3673
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3673:
	mov	eax, 0
.L3674:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3675
	call	__stack_chk_fail@PLT
.L3675:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE479:
	.size	Jim_LindexCoreCommand, .-Jim_LindexCoreCommand
	.type	Jim_LlengthCoreCommand, @function
Jim_LlengthCoreCommand:
.LFB480:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 2
	je	.L3677
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC262[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3678
.L3677:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3679
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3679:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3678:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE480:
	.size	Jim_LlengthCoreCommand, .-Jim_LlengthCoreCommand
	.section	.rodata
	.align 8
.LC373:
	.string	"?-exact|-glob|-regexp|-command 'command'? ?-bool|-inline? ?-not? ?-nocase? ?-all? list value"
	.text
	.type	Jim_LsearchCoreCommand, @function
Jim_LsearchCoreCommand:
.LFB481:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	QWORD PTR -136[rbp], rdi
	mov	DWORD PTR -140[rbp], esi
	mov	QWORD PTR -152[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	mov	DWORD PTR -100[rbp], 0
	mov	DWORD PTR -96[rbp], 0
	mov	DWORD PTR -92[rbp], 0
	mov	DWORD PTR -88[rbp], 3
	mov	DWORD PTR -84[rbp], 0
	mov	QWORD PTR -72[rbp], 0
	mov	QWORD PTR -64[rbp], 0
	cmp	DWORD PTR -140[rbp], 2
	jg	.L3681
	nop
	jmp	.L3682
.L3725:
	nop
.L3682:
	mov	rdx, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR -136[rbp]
	lea	rcx, .LC373[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3683
.L3681:
	mov	DWORD PTR -112[rbp], 1
	jmp	.L3684
.L3696:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -116[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r9d, 1
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, options.13[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L3685
	mov	eax, 1
	jmp	.L3683
.L3685:
	mov	eax, DWORD PTR -116[rbp]
	cmp	eax, 8
	ja	.L3686
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3688[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3688[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3688:
	.long	.L3694-.L3688
	.long	.L3693-.L3688
	.long	.L3692-.L3688
	.long	.L3691-.L3688
	.long	.L3691-.L3688
	.long	.L3691-.L3688
	.long	.L3690-.L3688
	.long	.L3689-.L3688
	.long	.L3687-.L3688
	.text
.L3694:
	mov	DWORD PTR -108[rbp], 1
	mov	DWORD PTR -92[rbp], 0
	jmp	.L3686
.L3693:
	mov	DWORD PTR -104[rbp], 1
	jmp	.L3686
.L3692:
	mov	DWORD PTR -100[rbp], 1
	jmp	.L3686
.L3689:
	mov	DWORD PTR -92[rbp], 1
	mov	DWORD PTR -108[rbp], 0
	jmp	.L3686
.L3690:
	mov	DWORD PTR -96[rbp], 1
	jmp	.L3686
.L3687:
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, 2
	cmp	DWORD PTR -112[rbp], eax
	jge	.L3725
	add	DWORD PTR -112[rbp], 1
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
.L3691:
	mov	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR -88[rbp], eax
	nop
.L3686:
	add	DWORD PTR -112[rbp], 1
.L3684:
	mov	eax, DWORD PTR -140[rbp]
	sub	eax, 2
	cmp	DWORD PTR -112[rbp], eax
	jl	.L3696
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	sal	rax, 3
	add	QWORD PTR -152[rbp], rax
	cmp	DWORD PTR -96[rbp], 0
	je	.L3697
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -72[rbp], rax
.L3697:
	cmp	DWORD PTR -88[rbp], 5
	jne	.L3698
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, -1
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -64[rbp], rax
.L3698:
	cmp	QWORD PTR -64[rbp], 0
	je	.L3699
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
.L3699:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -76[rbp], eax
	mov	DWORD PTR -112[rbp], 0
	jmp	.L3700
.L3717:
	mov	DWORD PTR -80[rbp], 0
	mov	rax, QWORD PTR -152[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	edx, DWORD PTR -112[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -24[rbp], rax
	cmp	DWORD PTR -88[rbp], 8
	je	.L3701
	cmp	DWORD PTR -88[rbp], 8
	jg	.L3702
	cmp	DWORD PTR -88[rbp], 5
	je	.L3701
	cmp	DWORD PTR -88[rbp], 5
	jg	.L3702
	cmp	DWORD PTR -88[rbp], 3
	je	.L3703
	cmp	DWORD PTR -88[rbp], 4
	je	.L3704
	jmp	.L3702
.L3703:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	ecx, DWORD PTR -100[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	Jim_StringCompareObj
	test	eax, eax
	sete	al
	movzx	eax, al
	mov	DWORD PTR -80[rbp], eax
	jmp	.L3702
.L3704:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	ecx, DWORD PTR -100[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rdi, rax
	call	Jim_StringMatchObj
	mov	DWORD PTR -80[rbp], eax
	jmp	.L3702
.L3701:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	edi, DWORD PTR -100[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	Jim_CommandMatchObj
	mov	DWORD PTR -80[rbp], eax
	cmp	DWORD PTR -80[rbp], 0
	jns	.L3726
	cmp	QWORD PTR -72[rbp], 0
	je	.L3706
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3706:
	mov	DWORD PTR -84[rbp], 1
	jmp	.L3707
.L3726:
	nop
.L3702:
	cmp	DWORD PTR -80[rbp], 0
	jne	.L3708
	cmp	DWORD PTR -108[rbp], 0
	je	.L3708
	cmp	DWORD PTR -104[rbp], 0
	je	.L3708
	cmp	DWORD PTR -96[rbp], 0
	je	.L3727
.L3708:
	cmp	DWORD PTR -108[rbp], 0
	jne	.L3710
	cmp	DWORD PTR -104[rbp], 0
	sete	al
	movzx	eax, al
	cmp	DWORD PTR -80[rbp], eax
	je	.L3711
.L3710:
	cmp	DWORD PTR -108[rbp], 0
	je	.L3709
	cmp	DWORD PTR -80[rbp], 0
	jne	.L3711
	cmp	DWORD PTR -96[rbp], 0
	je	.L3709
.L3711:
	cmp	DWORD PTR -108[rbp], 0
	je	.L3712
	mov	eax, DWORD PTR -80[rbp]
	xor	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -56[rbp], rax
	jmp	.L3713
.L3712:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L3714
	mov	eax, DWORD PTR -112[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -56[rbp], rax
	jmp	.L3713
.L3714:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -56[rbp], rax
.L3713:
	cmp	DWORD PTR -96[rbp], 0
	je	.L3715
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L3709
.L3715:
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3716
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3716:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3707
.L3727:
	nop
.L3709:
	add	DWORD PTR -112[rbp], 1
.L3700:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L3717
	cmp	DWORD PTR -96[rbp], 0
	je	.L3718
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3719
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3719:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3707
.L3718:
	cmp	DWORD PTR -108[rbp], 0
	je	.L3720
	mov	eax, DWORD PTR -104[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3721
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3721:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3707
.L3720:
	cmp	DWORD PTR -92[rbp], 0
	jne	.L3728
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, -1
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3722
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3722:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3707
.L3728:
	nop
.L3707:
	cmp	QWORD PTR -64[rbp], 0
	je	.L3723
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3723
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3723:
	mov	eax, DWORD PTR -84[rbp]
.L3683:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3724
	call	__stack_chk_fail@PLT
.L3724:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE481:
	.size	Jim_LsearchCoreCommand, .-Jim_LsearchCoreCommand
	.section	.rodata
.LC374:
	.string	"varName ?value value ...?"
	.text
	.type	Jim_LappendCoreCommand, @function
Jim_LappendCoreCommand:
.LFB482:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -24[rbp], 0
	cmp	DWORD PTR -44[rbp], 1
	jg	.L3730
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC374[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3731
.L3730:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3732
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 1
	jmp	.L3733
.L3732:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L3733
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -24[rbp], 1
.L3733:
	mov	DWORD PTR -20[rbp], 2
	jmp	.L3734
.L3735:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	add	DWORD PTR -20[rbp], 1
.L3734:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L3735
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3736
	cmp	DWORD PTR -24[rbp], 0
	je	.L3737
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3737:
	mov	eax, 1
	jmp	.L3731
.L3736:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3738
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3738:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3731:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE482:
	.size	Jim_LappendCoreCommand, .-Jim_LappendCoreCommand
	.section	.rodata
.LC375:
	.string	"list index ?element ...?"
	.text
	.type	Jim_LinsertCoreCommand, @function
Jim_LinsertCoreCommand:
.LFB483:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 2
	jg	.L3740
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC375[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3749
.L3740:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L3742
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -24[rbp], rax
.L3742:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	jne	.L3752
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	cmp	DWORD PTR -28[rbp], eax
	jg	.L3745
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L3746
.L3745:
	mov	eax, DWORD PTR -32[rbp]
	test	eax, eax
	jns	.L3746
	mov	edx, DWORD PTR -32[rbp]
	mov	eax, DWORD PTR -28[rbp]
	add	eax, edx
	add	eax, 1
	mov	DWORD PTR -32[rbp], eax
.L3746:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdi, 24[rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -3[rax]
	mov	edx, DWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	Jim_ListInsertElements
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3747
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3747:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3749
.L3752:
	nop
.L3744:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -24[rbp], rax
	je	.L3748
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3748:
	mov	eax, 1
.L3749:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3750
	call	__stack_chk_fail@PLT
.L3750:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE483:
	.size	Jim_LinsertCoreCommand, .-Jim_LinsertCoreCommand
	.section	.rodata
.LC376:
	.string	"list first last ?element ...?"
.LC377:
	.string	"list doesn't contain element "
	.text
	.type	Jim_LreplaceCoreCommand, @function
Jim_LreplaceCoreCommand:
.LFB484:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -76[rbp], 3
	jg	.L3754
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC376[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3762
.L3754:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	jne	.L3756
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L3757
.L3756:
	mov	eax, 1
	jmp	.L3762
.L3757:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -44[rbp], eax
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	DWORD PTR -56[rbp], eax
	mov	edx, DWORD PTR -52[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	DWORD PTR -52[rbp], eax
	lea	rcx, -48[rbp]
	lea	rdx, -52[rbp]
	lea	rsi, -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	JimRelToAbsRange
	mov	eax, DWORD PTR -56[rbp]
	cmp	DWORD PTR -44[rbp], eax
	jg	.L3758
	cmp	DWORD PTR -44[rbp], 0
	jne	.L3759
	mov	DWORD PTR -56[rbp], 0
	jmp	.L3758
.L3759:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC377[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3760
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3760:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	mov	eax, 1
	jmp	.L3762
.L3758:
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rcx, 32[rax]
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	ListInsertElements
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	eax, DWORD PTR -56[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	add	rax, rcx
	sal	rax, 3
	lea	rcx, [rdx+rax]
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, edx
	mov	esi, DWORD PTR -48[rbp]
	sub	eax, esi
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	ListInsertElements
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3761
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3761:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3762:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L3763
	call	__stack_chk_fail@PLT
.L3763:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE484:
	.size	Jim_LreplaceCoreCommand, .-Jim_LreplaceCoreCommand
	.section	.rodata
.LC378:
	.string	"listVar ?index...? newVal"
	.text
	.type	Jim_LsetCoreCommand, @function
Jim_LsetCoreCommand:
.LFB485:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 2
	jg	.L3765
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC378[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3766
.L3765:
	cmp	DWORD PTR -28[rbp], 3
	jne	.L3767
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3768
	mov	eax, 1
	jmp	.L3766
.L3768:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3769
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3769:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3766
.L3767:
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rdi, QWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, -3[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	Jim_ListSetIndex
.L3766:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE485:
	.size	Jim_LsetCoreCommand, .-Jim_LsetCoreCommand
	.section	.rodata
.LC379:
	.string	"?options? list"
	.align 8
.LC380:
	.string	"\"-command\" option must be followed by comparison command"
	.align 8
.LC381:
	.string	"\"-index\" option must be followed by list index"
	.text
	.type	Jim_LsortCoreCommand, @function
Jim_LsortCoreCommand:
.LFB486:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 336
	mov	QWORD PTR -312[rbp], rdi
	mov	DWORD PTR -316[rbp], esi
	mov	QWORD PTR -328[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -316[rbp], 1
	jg	.L3771
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC379[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3796
.L3771:
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 1
	mov	DWORD PTR -28[rbp], 0
	mov	DWORD PTR -24[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -296[rbp], 1
	jmp	.L3773
.L3792:
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -328[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -300[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r9d, 3
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, options.12[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L3774
	mov	eax, 1
	jmp	.L3796
.L3774:
	mov	eax, DWORD PTR -300[rbp]
	cmp	eax, 8
	ja	.L3776
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3778[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3778[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3778:
	.long	.L3786-.L3778
	.long	.L3785-.L3778
	.long	.L3784-.L3778
	.long	.L3783-.L3778
	.long	.L3782-.L3778
	.long	.L3781-.L3778
	.long	.L3780-.L3778
	.long	.L3779-.L3778
	.long	.L3777-.L3778
	.text
.L3786:
	mov	DWORD PTR -40[rbp], 0
	jmp	.L3776
.L3785:
	mov	DWORD PTR -40[rbp], 1
	jmp	.L3776
.L3781:
	mov	DWORD PTR -40[rbp], 2
	jmp	.L3776
.L3780:
	mov	DWORD PTR -40[rbp], 3
	jmp	.L3776
.L3784:
	mov	DWORD PTR -36[rbp], 1
	jmp	.L3776
.L3783:
	mov	DWORD PTR -36[rbp], -1
	jmp	.L3776
.L3777:
	mov	DWORD PTR -24[rbp], 1
	jmp	.L3776
.L3782:
	mov	eax, DWORD PTR -316[rbp]
	sub	eax, 2
	cmp	DWORD PTR -296[rbp], eax
	jl	.L3787
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, -1
	lea	rsi, .LC380[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3788
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3788:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -264[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L3796
.L3787:
	mov	DWORD PTR -40[rbp], 4
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -328[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	add	DWORD PTR -296[rbp], 1
	jmp	.L3776
.L3779:
	mov	eax, DWORD PTR -316[rbp]
	sub	eax, 2
	cmp	DWORD PTR -296[rbp], eax
	jl	.L3789
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, -1
	lea	rsi, .LC381[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -272[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3790
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3790:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -272[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L3796
.L3789:
	mov	eax, DWORD PTR -296[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -328[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rax, -256[rbp]
	lea	rdx, 224[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L3791
	mov	eax, 1
	jmp	.L3796
.L3791:
	mov	DWORD PTR -28[rbp], 1
	add	DWORD PTR -296[rbp], 1
	nop
.L3776:
	add	DWORD PTR -296[rbp], 1
.L3773:
	mov	eax, DWORD PTR -316[rbp]
	sub	eax, 1
	cmp	DWORD PTR -296[rbp], eax
	jl	.L3792
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -328[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -288[rbp], rax
	lea	rdx, -256[rbp]
	mov	rcx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	ListSortElements
	mov	DWORD PTR -292[rbp], eax
	cmp	DWORD PTR -292[rbp], 0
	jne	.L3793
	mov	rax, QWORD PTR -288[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -280[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3794
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3794:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -280[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3795
.L3793:
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3795:
	mov	eax, DWORD PTR -292[rbp]
.L3796:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3797
	call	__stack_chk_fail@PLT
.L3797:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE486:
	.size	Jim_LsortCoreCommand, .-Jim_LsortCoreCommand
	.section	.rodata
.LC382:
	.string	"varName ?value ...?"
	.text
	.type	Jim_AppendCoreCommand, @function
Jim_AppendCoreCommand:
.LFB487:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 1
	jg	.L3799
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC382[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3800
.L3799:
	cmp	DWORD PTR -44[rbp], 2
	jne	.L3801
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3802
	mov	eax, 1
	jmp	.L3800
.L3801:
	mov	DWORD PTR -20[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 4
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3803
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 1
	jmp	.L3804
.L3803:
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	cmp	eax, 1
	jle	.L3804
	mov	DWORD PTR -20[rbp], 1
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -16[rbp], rax
.L3804:
	mov	DWORD PTR -24[rbp], 2
	jmp	.L3805
.L3806:
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	add	DWORD PTR -24[rbp], 1
.L3805:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L3806
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L3802
	cmp	DWORD PTR -20[rbp], 0
	je	.L3807
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3807:
	mov	eax, 1
	jmp	.L3800
.L3802:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3808
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3808:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L3800:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE487:
	.size	Jim_AppendCoreCommand, .-Jim_AppendCoreCommand
	.type	Jim_DebugCoreCommand, @function
Jim_DebugCoreCommand:
.LFB488:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC285[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3810
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3810:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE488:
	.size	Jim_DebugCoreCommand, .-Jim_DebugCoreCommand
	.section	.rodata
.LC383:
	.string	"arg ?arg ...?"
	.text
	.type	Jim_EvalCoreCommand, @function
Jim_EvalCoreCommand:
.LFB489:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 1
	jg	.L3813
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC383[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3814
.L3813:
	cmp	DWORD PTR -28[rbp], 2
	jne	.L3815
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -4[rbp], eax
	jmp	.L3816
.L3815:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_ConcatObj
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -4[rbp], eax
.L3816:
	cmp	DWORD PTR -4[rbp], 1
	jne	.L3817
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
.L3817:
	mov	eax, DWORD PTR -4[rbp]
.L3814:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE489:
	.size	Jim_EvalCoreCommand, .-Jim_EvalCoreCommand
	.section	.rodata
.LC384:
	.string	"?level? command ?arg ...?"
	.text
	.type	Jim_UplevelCoreCommand, @function
Jim_UplevelCoreCommand:
.LFB490:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 1
	jle	.L3819
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	jle	.L3820
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 57
	jle	.L3821
.L3820:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 35
	jne	.L3822
.L3821:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetCallFrameByLevel
	mov	QWORD PTR -24[rbp], rax
	sub	DWORD PTR -44[rbp], 1
	add	QWORD PTR -56[rbp], 8
	jmp	.L3823
.L3822:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_GetCallFrameByLevel
	mov	QWORD PTR -24[rbp], rax
.L3823:
	cmp	QWORD PTR -24[rbp], 0
	jne	.L3824
	mov	eax, 1
	jmp	.L3825
.L3824:
	cmp	DWORD PTR -44[rbp], 1
	jg	.L3826
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC384[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3825
.L3826:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rax], rdx
	cmp	DWORD PTR -44[rbp], 2
	jne	.L3827
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -28[rbp], eax
	jmp	.L3828
.L3827:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_ConcatObj
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -28[rbp], eax
.L3828:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	eax, DWORD PTR -28[rbp]
	jmp	.L3825
.L3819:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC384[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
.L3825:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE490:
	.size	Jim_UplevelCoreCommand, .-Jim_UplevelCoreCommand
	.section	.rodata
.LC385:
	.string	"expression ?...?"
	.text
	.type	Jim_ExprCoreCommand, @function
Jim_ExprCoreCommand:
.LFB491:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 2
	jne	.L3830
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_EvalExpression
	mov	DWORD PTR -36[rbp], eax
	jmp	.L3831
.L3830:
	cmp	DWORD PTR -60[rbp], 2
	jle	.L3832
	mov	rax, QWORD PTR -72[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -60[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_ConcatObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	lea	rdx, -32[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_EvalExpression
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3831
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L3831
.L3832:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC385[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3837
.L3831:
	cmp	DWORD PTR -36[rbp], 0
	je	.L3834
	mov	eax, DWORD PTR -36[rbp]
	jmp	.L3837
.L3834:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3835
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3835:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3836
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3836:
	mov	eax, 0
.L3837:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L3838
	call	__stack_chk_fail@PLT
.L3838:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE491:
	.size	Jim_ExprCoreCommand, .-Jim_ExprCoreCommand
	.type	Jim_BreakCoreCommand, @function
Jim_BreakCoreCommand:
.LFB492:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	cmp	DWORD PTR -12[rbp], 1
	je	.L3840
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC69[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3841
.L3840:
	mov	eax, 3
.L3841:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE492:
	.size	Jim_BreakCoreCommand, .-Jim_BreakCoreCommand
	.type	Jim_ContinueCoreCommand, @function
Jim_ContinueCoreCommand:
.LFB493:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	cmp	DWORD PTR -12[rbp], 1
	je	.L3843
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, .LC69[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3844
.L3843:
	mov	eax, 4
.L3844:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE493:
	.size	Jim_ContinueCoreCommand, .-Jim_ContinueCoreCommand
	.section	.rodata
.LC386:
	.string	"-code"
.LC387:
	.string	"-errorinfo"
.LC388:
	.string	"-errorcode"
.LC389:
	.string	"-level"
	.align 8
.LC390:
	.string	"?-code code? ?-errorinfo stacktrace? ?-level level? ?result?"
	.text
	.type	Jim_ReturnCoreCommand, @function
Jim_ReturnCoreCommand:
.LFB494:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -32[rbp], 0
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -48[rbp], 0
	mov	QWORD PTR -40[rbp], 1
	mov	DWORD PTR -44[rbp], 1
	jmp	.L3846
.L3855:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, .LC386[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3847
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetReturnCode
	cmp	eax, 1
	jne	.L3848
	mov	eax, 1
	jmp	.L3861
.L3847:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, .LC387[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3850
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L3848
.L3850:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, .LC388[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3851
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L3848
.L3851:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, .LC389[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L3863
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L3853
	mov	rax, QWORD PTR -40[rbp]
	test	rax, rax
	jns	.L3848
.L3853:
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC249[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3861
.L3848:
	add	DWORD PTR -44[rbp], 2
.L3846:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jl	.L3855
	jmp	.L3854
.L3863:
	nop
.L3854:
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	je	.L3856
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	je	.L3856
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC390[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
.L3856:
	cmp	QWORD PTR -32[rbp], 0
	je	.L3857
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 1
	jne	.L3857
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStackTrace
.L3857:
	cmp	QWORD PTR -24[rbp], 0
	je	.L3858
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 1
	jne	.L3858
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	call	Jim_SetGlobalVariableStr
.L3858:
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 40[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 44[rax], edx
	mov	eax, DWORD PTR -60[rbp]
	sub	eax, 1
	cmp	DWORD PTR -44[rbp], eax
	jne	.L3859
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3860
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3860:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L3859:
	mov	eax, 2
.L3861:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L3862
	call	__stack_chk_fail@PLT
.L3862:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE494:
	.size	Jim_ReturnCoreCommand, .-Jim_ReturnCoreCommand
	.section	.rodata
	.align 8
.LC391:
	.string	"tailcall can only be called from a proc or lambda"
	.text
	.type	Jim_TailcallCoreCommand, @function
Jim_TailcallCoreCommand:
.LFB495:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L3865
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC391[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3866
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3866:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L3867
.L3865:
	cmp	DWORD PTR -44[rbp], 1
	jle	.L3868
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L3869
	mov	eax, 1
	jmp	.L3867
.L3869:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	JimIncrCmdRefCount
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 160[rax], rdx
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 8[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 152[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 152[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, 7
	jmp	.L3867
.L3868:
	mov	eax, 0
.L3867:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE495:
	.size	Jim_TailcallCoreCommand, .-Jim_TailcallCoreCommand
	.type	JimAliasCmd, @function
JimAliasCmd:
.LFB496:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 48
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 336[rax]
	mov	QWORD PTR -32[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DuplicateObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	r12, 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	ebx, -1[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	edx, eax
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8, r12
	mov	ecx, ebx
	mov	rdi, rax
	call	Jim_ListInsertElements
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimEvalObjList
	add	rsp, 48
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE496:
	.size	JimAliasCmd, .-JimAliasCmd
	.type	JimAliasCmdDelete, @function
JimAliasCmdDelete:
.LFB497:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3874
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3874:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE497:
	.size	JimAliasCmdDelete, .-JimAliasCmdDelete
	.section	.rodata
.LC392:
	.string	"newname command ?args ...?"
	.text
	.type	Jim_AliasCoreCommand, @function
Jim_AliasCoreCommand:
.LFB498:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 2
	jg	.L3876
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC392[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3877
.L3876:
	mov	eax, DWORD PTR -44[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L3878
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L3878
.L3879:
	add	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L3879
.L3878:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3880
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3880:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	r8, JimAliasCmdDelete[rip]
	mov	rcx, rdx
	lea	rdx, JimAliasCmd[rip]
	mov	rdi, rax
	call	Jim_CreateCommand
.L3877:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE498:
	.size	Jim_AliasCoreCommand, .-Jim_AliasCoreCommand
	.section	.rodata
.LC393:
	.string	"name arglist ?statics? body"
.LC394:
	.string	"procedure"
	.text
	.type	Jim_ProcCoreCommand, @function
Jim_ProcCoreCommand:
.LFB499:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 4
	je	.L3882
	cmp	DWORD PTR -44[rbp], 5
	je	.L3882
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC393[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3883
.L3882:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC394[rip]
	mov	rdi, rax
	call	JimValidName
	test	eax, eax
	je	.L3884
	mov	eax, 1
	jmp	.L3883
.L3884:
	cmp	DWORD PTR -44[rbp], 4
	jne	.L3885
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 0
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	JimCreateProcedureCmd
	mov	QWORD PTR -24[rbp], rax
	jmp	.L3886
.L3885:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	r8d, 0
	mov	rdi, rax
	call	JimCreateProcedureCmd
	mov	QWORD PTR -24[rbp], rax
.L3886:
	cmp	QWORD PTR -24[rbp], 0
	je	.L3887
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L3888
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L3888
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	add	rax, 2
	jmp	.L3889
.L3888:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
.L3889:
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimCreateCommand
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimUpdateProcNamespace
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3890
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3890:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3883
.L3887:
	mov	eax, 1
.L3883:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE499:
	.size	Jim_ProcCoreCommand, .-Jim_ProcCoreCommand
	.section	.rodata
.LC395:
	.string	"cmd ?args ...?"
	.text
	.type	Jim_LocalCoreCommand, @function
Jim_LocalCoreCommand:
.LFB500:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	cmp	DWORD PTR -44[rbp], 1
	jg	.L3892
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC395[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3893
.L3892:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 168[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 168[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -44[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_EvalObjVector
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 168[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 168[rax], edx
	cmp	DWORD PTR -28[rbp], 0
	jne	.L3894
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	test	rax, rax
	jne	.L3895
	mov	eax, 1
	jmp	.L3893
.L3895:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 144[rax]
	test	rax, rax
	jne	.L3896
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR 88[rax]
	mov	edi, 16
	call	Jim_Alloc
	mov	QWORD PTR 144[rbx], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 144[rax]
	mov	rdi, rax
	call	Jim_InitStack
.L3896:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rax, QWORD PTR 144[rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StackPush
.L3894:
	mov	eax, DWORD PTR -28[rbp]
.L3893:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE500:
	.size	Jim_LocalCoreCommand, .-Jim_LocalCoreCommand
	.section	.rodata
.LC396:
	.string	"no previous command: \"%#s\""
	.text
	.type	Jim_UpcallCoreCommand, @function
Jim_UpcallCoreCommand:
.LFB501:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 1
	jg	.L3898
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC395[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3899
.L3898:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L3900
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	je	.L3900
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L3901
.L3900:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC396[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3899
.L3901:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 56[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimIncrCmdRefCount
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_EvalObjVector
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 56[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	mov	eax, DWORD PTR -12[rbp]
.L3899:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE501:
	.size	Jim_UpcallCoreCommand, .-Jim_UpcallCoreCommand
	.section	.rodata
.LC397:
	.string	"lambdaExpr ?arg ...?"
	.align 8
.LC398:
	.string	"can't interpret \"%#s\" as a lambda expression"
.LC399:
	.string	"namespaces not enabled"
.LC400:
	.string	"apply lambdaExpr"
	.text
	.type	Jim_ApplyCoreCommand, @function
Jim_ApplyCoreCommand:
.LFB502:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	cmp	DWORD PTR -76[rbp], 1
	jg	.L3903
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC397[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3904
.L3903:
	mov	QWORD PTR -48[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -56[rbp], eax
	cmp	DWORD PTR -56[rbp], 2
	je	.L3905
	cmp	DWORD PTR -56[rbp], 3
	je	.L3905
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC398[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L3904
.L3905:
	cmp	DWORD PTR -56[rbp], 3
	jne	.L3906
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC399[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3907
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3907:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L3904
.L3906:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -32[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 0
	mov	rdi, rax
	call	JimCreateProcedureCmd
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L3908
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 1
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC400[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, 2
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	lea	rcx, 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -76[rbp]
	lea	edi, -1[rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, rdx
	mov	edx, edi
	mov	rdi, rax
	call	JimCallProcedure
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3909
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3909:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimDecrCmdRefCount
	mov	eax, DWORD PTR -52[rbp]
	jmp	.L3904
.L3908:
	mov	eax, 1
.L3904:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE502:
	.size	Jim_ApplyCoreCommand, .-Jim_ApplyCoreCommand
	.type	Jim_ConcatCoreCommand, @function
Jim_ConcatCoreCommand:
.LFB503:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -28[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Jim_ConcatObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3911
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3911:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE503:
	.size	Jim_ConcatCoreCommand, .-Jim_ConcatCoreCommand
	.section	.rodata
	.align 8
.LC401:
	.string	"?level? otherVar localVar ?otherVar localVar ...?"
	.text
	.type	Jim_UpvarCoreCommand, @function
Jim_UpvarCoreCommand:
.LFB504:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 3
	jle	.L3914
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L3914
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetCallFrameByLevel
	mov	QWORD PTR -8[rbp], rax
	sub	DWORD PTR -28[rbp], 1
	add	QWORD PTR -40[rbp], 8
	jmp	.L3915
.L3914:
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	Jim_GetCallFrameByLevel
	mov	QWORD PTR -8[rbp], rax
.L3915:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3916
	mov	eax, 1
	jmp	.L3917
.L3916:
	cmp	DWORD PTR -28[rbp], 2
	jg	.L3918
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC401[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3917
.L3918:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L3919
.L3921:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	rsi, QWORD PTR [rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_SetVariableLink
	test	eax, eax
	je	.L3920
	mov	eax, 1
	jmp	.L3917
.L3920:
	add	DWORD PTR -12[rbp], 2
.L3919:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3921
	mov	eax, 0
.L3917:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE504:
	.size	Jim_UpvarCoreCommand, .-Jim_UpvarCoreCommand
	.section	.rodata
.LC402:
	.string	"varName ?varName ...?"
	.text
	.type	Jim_GlobalCoreCommand, @function
Jim_GlobalCoreCommand:
.LFB505:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 1
	jg	.L3923
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC402[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L3924
.L3923:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	test	eax, eax
	jne	.L3925
	mov	eax, 0
	jmp	.L3924
.L3925:
	mov	DWORD PTR -12[rbp], 1
	jmp	.L3926
.L3929:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L3927
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	je	.L3928
.L3927:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 96[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rsi
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_SetVariableLink
	test	eax, eax
	je	.L3928
	mov	eax, 1
	jmp	.L3924
.L3928:
	add	DWORD PTR -12[rbp], 1
.L3926:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L3929
	mov	eax, 0
.L3924:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE505:
	.size	Jim_GlobalCoreCommand, .-Jim_GlobalCoreCommand
	.section	.rodata
	.align 8
.LC403:
	.string	"list must contain an even number of elements"
	.text
	.type	JimStringMap, @function
JimStringMap:
.LFB506:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	DWORD PTR -108[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -48[rbp], 0
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 1
	test	eax, eax
	je	.L3931
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC403[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3932
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3932:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L3933
.L3931:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -56[rbp], rax
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	jmp	.L3934
.L3941:
	mov	DWORD PTR -72[rbp], 0
	jmp	.L3935
.L3939:
	mov	edx, DWORD PTR -72[rbp]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -64[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jl	.L3936
	cmp	DWORD PTR -64[rbp], 0
	je	.L3936
	mov	ecx, DWORD PTR -108[rbp]
	mov	edx, DWORD PTR -64[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	JimStringCompareLen
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], 0
	jne	.L3936
	cmp	QWORD PTR -48[rbp], 0
	je	.L3937
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR -48[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	mov	QWORD PTR -48[rbp], 0
.L3937:
	mov	eax, DWORD PTR -72[rbp]
	lea	edx, 1[rax]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListGetIndex
	mov	rdx, rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	add	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	sub	DWORD PTR -76[rbp], eax
	jmp	.L3938
.L3936:
	add	DWORD PTR -72[rbp], 2
.L3935:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jl	.L3939
.L3938:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jne	.L3934
	cmp	QWORD PTR -48[rbp], 0
	jne	.L3940
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -48[rbp], rax
.L3940:
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -80[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -56[rbp], rax
	sub	DWORD PTR -76[rbp], 1
.L3934:
	cmp	DWORD PTR -76[rbp], 0
	jne	.L3941
	cmp	QWORD PTR -48[rbp], 0
	je	.L3942
	mov	rax, QWORD PTR -56[rbp]
	sub	rax, QWORD PTR -48[rbp]
	mov	ecx, eax
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	Jim_AppendString
.L3942:
	mov	rax, QWORD PTR -40[rbp]
.L3933:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L3943
	call	__stack_chk_fail@PLT
.L3943:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE506:
	.size	JimStringMap, .-JimStringMap
	.section	.rodata
.LC404:
	.string	"option ?arguments ...?"
	.align 8
.LC405:
	.string	"?-nocase? ?-length int? string1 string2"
.LC406:
	.string	"?-nocase? pattern string"
.LC407:
	.string	"?-nocase? mapList string"
.LC408:
	.string	"string first last"
.LC409:
	.string	"string first last ?string?"
.LC410:
	.string	"string count"
.LC411:
	.string	"string index"
.LC412:
	.string	"subString string ?index?"
.LC413:
	.string	"string ?trimchars?"
.LC414:
	.string	"-strict"
.LC415:
	.string	"class ?-strict? str"
	.text
	.type	Jim_StringCoreCommand, @function
Jim_StringCoreCommand:
.LFB507:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 376
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -376[rbp], rdi
	mov	DWORD PTR -380[rbp], esi
	mov	QWORD PTR -392[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -40[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -360[rbp], 1
	cmp	DWORD PTR -380[rbp], 1
	jg	.L3945
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC404[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L3945:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -356[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	r9d, 3
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, options.11[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L3947
	mov	eax, 1
	jmp	.L4061
.L3947:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 21
	ja	.L3948
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L3950[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L3950[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L3950:
	.long	.L3963-.L3950
	.long	.L3963-.L3950
	.long	.L3961-.L3950
	.long	.L3962-.L3950
	.long	.L3961-.L3950
	.long	.L3960-.L3950
	.long	.L3959-.L3950
	.long	.L3959-.L3950
	.long	.L3958-.L3950
	.long	.L3957-.L3950
	.long	.L3956-.L3950
	.long	.L3955-.L3950
	.long	.L3954-.L3950
	.long	.L3953-.L3950
	.long	.L3953-.L3950
	.long	.L3952-.L3950
	.long	.L3951-.L3950
	.long	.L3951-.L3950
	.long	.L3951-.L3950
	.long	.L3949-.L3950
	.long	.L3949-.L3950
	.long	.L3949-.L3950
	.text
.L3963:
	cmp	DWORD PTR -380[rbp], 3
	je	.L3964
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC191[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L3964:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 1
	jne	.L3965
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -348[rbp], eax
	jmp	.L3966
.L3965:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	mov	DWORD PTR -348[rbp], eax
.L3966:
	mov	eax, DWORD PTR -348[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3967
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3967:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3952:
	cmp	DWORD PTR -380[rbp], 3
	jne	.L3968
	mov	rax, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -304[rbp], rax
	jmp	.L3969
.L3968:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -304[rbp], rax
	mov	DWORD PTR -344[rbp], 2
	jmp	.L3970
.L3971:
	mov	eax, DWORD PTR -344[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
	add	DWORD PTR -344[rbp], 1
.L3970:
	mov	eax, DWORD PTR -344[rbp]
	cmp	eax, DWORD PTR -380[rbp]
	jl	.L3971
.L3969:
	mov	rax, QWORD PTR -304[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -216[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -216[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3972
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3972:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -216[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3961:
	mov	QWORD PTR -312[rbp], -1
	mov	eax, DWORD PTR -380[rbp]
	sub	eax, 4
	mov	DWORD PTR -340[rbp], eax
	mov	DWORD PTR -336[rbp], 2
	jmp	.L3973
.L3982:
	mov	eax, DWORD PTR -336[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -336[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -352[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	r9d, 2
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, nocase_length_options.10[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L3974
	nop
	jmp	.L3975
.L4063:
	nop
	jmp	.L3975
.L4064:
	nop
.L3975:
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC405[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L3974:
	mov	eax, DWORD PTR -352[rbp]
	test	eax, eax
	jne	.L3977
	mov	DWORD PTR -360[rbp], 0
	sub	DWORD PTR -340[rbp], 1
	jmp	.L3973
.L3977:
	cmp	DWORD PTR -340[rbp], 1
	jle	.L4063
	mov	eax, DWORD PTR -336[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -336[rbp], edx
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -312[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L3980
	mov	eax, 1
	jmp	.L4061
.L3980:
	sub	DWORD PTR -340[rbp], 2
.L3973:
	cmp	DWORD PTR -340[rbp], 0
	jg	.L3982
	cmp	DWORD PTR -340[rbp], 0
	jne	.L4064
	mov	eax, DWORD PTR -380[rbp]
	cdqe
	sal	rax, 3
	sub	rax, 16
	add	QWORD PTR -392[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	test	rax, rax
	jns	.L3984
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 2
	je	.L3984
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	je	.L3984
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_StringEqObj
	movsx	rdx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3985
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3985:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L3986
.L3984:
	mov	rax, QWORD PTR -312[rbp]
	test	rax, rax
	js	.L3987
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	sete	al
	movzx	ebx, al
	mov	rax, QWORD PTR -312[rbp]
	mov	r13d, eax
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	r12, rax
	mov	rax, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	ecx, ebx
	mov	edx, r13d
	mov	rsi, r12
	mov	rdi, rax
	call	JimStringCompareLen
	mov	DWORD PTR -340[rbp], eax
	jmp	.L3988
.L3987:
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	sete	al
	movzx	ecx, al
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	Jim_StringCompareObj
	mov	DWORD PTR -340[rbp], eax
.L3988:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 2
	je	.L3989
	cmp	DWORD PTR -340[rbp], 0
	sete	al
	movzx	eax, al
	cdqe
	jmp	.L3990
.L3989:
	mov	eax, DWORD PTR -340[rbp]
	cdqe
.L3990:
	mov	rdx, QWORD PTR -376[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_NewIntObj
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3991
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3991:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
.L3986:
	mov	eax, 0
	jmp	.L4061
.L3962:
	cmp	DWORD PTR -380[rbp], 4
	je	.L3992
	cmp	DWORD PTR -380[rbp], 5
	jne	.L3993
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -360[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	r9d, 2
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, nocase_options.9[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L3992
.L3993:
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC406[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L3992:
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	jne	.L3994
	add	QWORD PTR -392[rbp], 8
.L3994:
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	sete	al
	movzx	ecx, al
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	Jim_StringMatchObj
	movsx	rdx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L3995
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L3995:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3957:
	cmp	DWORD PTR -380[rbp], 4
	je	.L3996
	cmp	DWORD PTR -380[rbp], 5
	jne	.L3997
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -360[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	r9d, 2
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, nocase_options.9[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L3996
.L3997:
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC407[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L3996:
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	jne	.L3998
	add	QWORD PTR -392[rbp], 8
.L3998:
	mov	eax, DWORD PTR -360[rbp]
	test	eax, eax
	sete	al
	movzx	ecx, al
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	JimStringMap
	mov	QWORD PTR -112[rbp], rax
	cmp	QWORD PTR -112[rbp], 0
	jne	.L3999
	mov	eax, 1
	jmp	.L4061
.L3999:
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4000
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4000:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3959:
	cmp	DWORD PTR -380[rbp], 5
	je	.L4001
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC408[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4001:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 7
	jne	.L4002
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	Jim_StringRangeObj
	mov	QWORD PTR -296[rbp], rax
	jmp	.L4003
.L4002:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	Jim_StringByteRangeObj
	mov	QWORD PTR -296[rbp], rax
.L4003:
	cmp	QWORD PTR -296[rbp], 0
	jne	.L4004
	mov	eax, 1
	jmp	.L4061
.L4004:
	mov	rax, QWORD PTR -296[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4005
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4005:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -80[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3958:
	cmp	DWORD PTR -380[rbp], 5
	je	.L4006
	cmp	DWORD PTR -380[rbp], 6
	je	.L4006
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC409[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4006:
	cmp	DWORD PTR -380[rbp], 6
	jne	.L4007
	mov	rax, QWORD PTR -392[rbp]
	mov	rdi, QWORD PTR 40[rax]
	jmp	.L4008
.L4007:
	mov	edi, 0
.L4008:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	r8, rdi
	mov	rdi, rax
	call	JimStringReplaceObj
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -96[rbp], 0
	jne	.L4009
	mov	eax, 1
	jmp	.L4061
.L4009:
	mov	rax, QWORD PTR -96[rbp]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4010
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4010:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3956:
	cmp	DWORD PTR -380[rbp], 4
	je	.L4011
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC410[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4011:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -312[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4013
	mov	eax, 1
	jmp	.L4061
.L4013:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -312[rbp]
	test	rax, rax
	jle	.L4014
	jmp	.L4015
.L4016:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_AppendObj
.L4015:
	mov	rax, QWORD PTR -312[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -312[rbp], rdx
	test	rax, rax
	jne	.L4016
.L4014:
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4017
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4017:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3955:
	cmp	DWORD PTR -380[rbp], 3
	je	.L4018
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC191[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4018:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	lea	rdx, -352[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -280[rbp], rax
	mov	eax, DWORD PTR -352[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -352[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	QWORD PTR -288[rbp], rax
	mov	rax, QWORD PTR -288[rbp]
	mov	BYTE PTR [rax], 0
	mov	DWORD PTR -332[rbp], 0
	jmp	.L4020
.L4021:
	mov	rax, QWORD PTR -280[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -312[rbp], eax
	mov	DWORD PTR -316[rbp], 1
	mov	eax, DWORD PTR -316[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	neg	rax
	mov	rcx, rax
	mov	rax, QWORD PTR -288[rbp]
	add	rcx, rax
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -288[rbp], rax
	mov	eax, DWORD PTR -316[rbp]
	add	DWORD PTR -332[rbp], eax
	mov	eax, DWORD PTR -316[rbp]
	cdqe
	add	QWORD PTR -280[rbp], rax
.L4020:
	mov	eax, DWORD PTR -352[rbp]
	cmp	DWORD PTR -332[rbp], eax
	jl	.L4021
	mov	edx, DWORD PTR -352[rbp]
	mov	rcx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4022
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4022:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4061
.L3954:
	cmp	DWORD PTR -380[rbp], 4
	je	.L4023
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC411[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4023:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -352[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L4025
	mov	eax, 1
	jmp	.L4061
.L4025:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -348[rbp], eax
	mov	eax, DWORD PTR -352[rbp]
	cmp	eax, -2147483648
	je	.L4026
	mov	eax, DWORD PTR -352[rbp]
	cmp	eax, 2147483647
	je	.L4026
	mov	edx, DWORD PTR -352[rbp]
	mov	eax, DWORD PTR -348[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	DWORD PTR -352[rbp], eax
.L4026:
	mov	eax, DWORD PTR -352[rbp]
	test	eax, eax
	js	.L4027
	mov	eax, DWORD PTR -352[rbp]
	cmp	DWORD PTR -348[rbp], eax
	jle	.L4027
	cmp	QWORD PTR -176[rbp], 0
	jne	.L4028
.L4027:
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4029
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4029:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4030
.L4028:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	cmp	DWORD PTR -348[rbp], eax
	jne	.L4031
	mov	eax, DWORD PTR -352[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -176[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4032
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4032:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4030
.L4031:
	mov	eax, DWORD PTR -352[rbp]
	mov	DWORD PTR -320[rbp], eax
	mov	eax, DWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -176[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -312[rbp], eax
	mov	eax, DWORD PTR -320[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -176[rbp]
	lea	rcx, [rdx+rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4033
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4033:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
.L4030:
	mov	eax, 0
	jmp	.L4061
.L3953:
	mov	DWORD PTR -312[rbp], 0
	cmp	DWORD PTR -380[rbp], 4
	je	.L4034
	cmp	DWORD PTR -380[rbp], 5
	je	.L4034
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC412[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4034:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -328[rbp], eax
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -324[rbp], eax
	cmp	DWORD PTR -380[rbp], 5
	jne	.L4036
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -312[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetIndex
	test	eax, eax
	je	.L4037
	mov	eax, 1
	jmp	.L4061
.L4037:
	mov	edx, DWORD PTR -312[rbp]
	mov	eax, DWORD PTR -324[rbp]
	mov	esi, edx
	mov	edi, eax
	call	JimRelToAbsIndex
	mov	DWORD PTR -312[rbp], eax
	jmp	.L4038
.L4036:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 14
	jne	.L4038
	mov	eax, DWORD PTR -324[rbp]
	mov	DWORD PTR -312[rbp], eax
.L4038:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 13
	jne	.L4039
	mov	edi, DWORD PTR -312[rbp]
	mov	ecx, DWORD PTR -324[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	esi, DWORD PTR -328[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	JimStringFirst
	movsx	rdx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4040
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4040:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4041
.L4039:
	mov	ecx, DWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	esi, DWORD PTR -328[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rdi, rax
	call	JimStringLast
	movsx	rdx, eax
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -192[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4042
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4042:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -192[rbp]
	mov	QWORD PTR [rax], rdx
.L4041:
	mov	eax, 0
	jmp	.L4061
.L3951:
	cmp	DWORD PTR -380[rbp], 3
	je	.L4043
	cmp	DWORD PTR -380[rbp], 4
	je	.L4043
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC413[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4043:
	cmp	DWORD PTR -380[rbp], 4
	jne	.L4044
	mov	rax, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR 24[rax]
	jmp	.L4045
.L4044:
	mov	eax, 0
.L4045:
	mov	QWORD PTR -248[rbp], rax
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 16
	jne	.L4046
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStringTrim
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4047
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4047:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -224[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4048
.L4046:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 17
	jne	.L4049
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStringTrimLeft
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4050
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4050:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4048
.L4049:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 18
	jne	.L4048
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -248[rbp]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimStringTrimRight
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -240[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4051
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4051:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	QWORD PTR [rax], rdx
.L4048:
	mov	eax, 0
	jmp	.L4061
.L3949:
	cmp	DWORD PTR -380[rbp], 3
	je	.L4052
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC191[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L4052:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 19
	jne	.L4053
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimStringToLower
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4054
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4054:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -256[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4055
.L4053:
	mov	eax, DWORD PTR -356[rbp]
	cmp	eax, 20
	jne	.L4056
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimStringToUpper
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -264[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4057
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4057:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -264[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4055
.L4056:
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimStringToTitle
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -272[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -272[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4058
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4058:
	mov	rax, QWORD PTR -376[rbp]
	mov	rdx, QWORD PTR -272[rbp]
	mov	QWORD PTR [rax], rdx
.L4055:
	mov	eax, 0
	jmp	.L4061
.L3960:
	cmp	DWORD PTR -380[rbp], 4
	je	.L4059
	cmp	DWORD PTR -380[rbp], 5
	jne	.L4060
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	lea	rdx, .LC414[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L4060
.L4059:
	cmp	DWORD PTR -380[rbp], 5
	sete	al
	movzx	ecx, al
	mov	rax, QWORD PTR -392[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -380[rbp]
	cdqe
	sal	rax, 3
	lea	rsi, -8[rax]
	mov	rax, QWORD PTR -392[rbp]
	add	rax, rsi
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	JimStringIs
	jmp	.L4061
.L4060:
	mov	rdx, QWORD PTR -392[rbp]
	mov	rax, QWORD PTR -376[rbp]
	lea	rcx, .LC415[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4061
.L3948:
	mov	eax, 0
.L4061:
	mov	rbx, QWORD PTR -40[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L4062
	call	__stack_chk_fail@PLT
.L4062:
	add	rsp, 376
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE507:
	.size	Jim_StringCoreCommand, .-Jim_StringCoreCommand
	.section	.rodata
	.align 8
.LC416:
	.string	"%ld microseconds per iteration"
.LC417:
	.string	"script ?count?"
	.text
	.type	Jim_TimeCoreCommand, @function
Jim_TimeCoreCommand:
.LFB508:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	DWORD PTR -156[rbp], esi
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -128[rbp], 1
	lea	rax, .LC416[rip]
	mov	QWORD PTR -112[rbp], rax
	cmp	DWORD PTR -156[rbp], 1
	jg	.L4066
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -152[rbp]
	lea	rcx, .LC417[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4075
.L4066:
	cmp	DWORD PTR -156[rbp], 3
	jne	.L4068
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -128[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L4068
	mov	eax, 1
	jmp	.L4075
.L4068:
	mov	rax, QWORD PTR -128[rbp]
	test	rax, rax
	jns	.L4069
	mov	eax, 0
	jmp	.L4075
.L4069:
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -120[rbp], rax
	call	JimClock
	mov	QWORD PTR -104[rbp], rax
	jmp	.L4070
.L4071:
	mov	rax, QWORD PTR -168[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 0
	je	.L4070
	mov	eax, DWORD PTR -132[rbp]
	jmp	.L4075
.L4070:
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, -1[rax]
	mov	QWORD PTR -120[rbp], rdx
	test	rax, rax
	jg	.L4071
	call	JimClock
	sub	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	test	rax, rax
	je	.L4072
	mov	rsi, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR -96[rbp]
	cqo
	idiv	rsi
	mov	rdx, rax
	jmp	.L4073
.L4072:
	mov	edx, 0
.L4073:
	mov	rcx, QWORD PTR -112[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rcx, -80[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4074
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4074:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4075:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4076
	call	__stack_chk_fail@PLT
.L4076:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE508:
	.size	Jim_TimeCoreCommand, .-Jim_TimeCoreCommand
	.section	.rodata
.LC418:
	.string	"?exitCode?"
	.text
	.type	Jim_ExitCoreCommand, @function
Jim_ExitCoreCommand:
.LFB509:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -16[rbp], 0
	cmp	DWORD PTR -28[rbp], 2
	jle	.L4078
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC418[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4081
.L4078:
	cmp	DWORD PTR -28[rbp], 2
	jne	.L4080
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L4080
	mov	eax, 1
	jmp	.L4081
.L4080:
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	eax, 6
.L4081:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4082
	call	__stack_chk_fail@PLT
.L4082:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE509:
	.size	Jim_ExitCoreCommand, .-Jim_ExitCoreCommand
	.section	.rodata
.LC419:
	.string	"NONE"
.LC420:
	.string	"-no"
	.align 8
.LC421:
	.string	"?-?no?code ... --? script ?resultVarName? ?optionVarName?"
	.text
	.type	Jim_CatchCoreCommand, @function
Jim_CatchCoreCommand:
.LFB510:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -72[rbp], 0
	mov	QWORD PTR -56[rbp], 224
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC419[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	call	Jim_SetGlobalVariableStr
	mov	DWORD PTR -76[rbp], 1
	jmp	.L4084
.L4097:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L4085
	add	DWORD PTR -76[rbp], 1
	jmp	.L4096
.L4085:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L4115
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 3
	lea	rsi, .LC420[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L4088
	add	QWORD PTR -48[rbp], 3
	mov	DWORD PTR -68[rbp], 1
	jmp	.L4089
.L4088:
	add	QWORD PTR -48[rbp], 1
	mov	DWORD PTR -68[rbp], 0
.L4089:
	lea	rcx, -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_StringToWide
	test	eax, eax
	je	.L4090
	mov	QWORD PTR -64[rbp], -1
.L4090:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	jns	.L4091
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, 9
	lea	rsi, jimReturnCodes[rip]
	mov	rdi, rax
	call	Jim_FindByName
	cdqe
	mov	QWORD PTR -64[rbp], rax
.L4091:
	mov	rax, QWORD PTR -64[rbp]
	test	rax, rax
	js	.L4116
	cmp	DWORD PTR -68[rbp], 0
	je	.L4094
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	or	QWORD PTR -56[rbp], rax
	jmp	.L4095
.L4094:
	mov	rax, QWORD PTR -64[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	rdx, cl
	mov	rax, rdx
	not	rax
	and	QWORD PTR -56[rbp], rax
.L4095:
	add	DWORD PTR -76[rbp], 1
.L4084:
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, 1
	cmp	DWORD PTR -76[rbp], eax
	jl	.L4097
	jmp	.L4096
.L4115:
	nop
.L4096:
	mov	eax, DWORD PTR -76[rbp]
	sub	DWORD PTR -92[rbp], eax
	cmp	DWORD PTR -92[rbp], 0
	jle	.L4117
	cmp	DWORD PTR -92[rbp], 3
	jle	.L4098
	jmp	.L4117
.L4116:
	nop
	jmp	.L4093
.L4117:
	nop
.L4093:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -88[rbp]
	lea	rcx, .LC421[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4099
.L4098:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	add	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	and	eax, 32
	test	rax, rax
	jne	.L4100
	add	DWORD PTR -72[rbp], 1
.L4100:
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	eax, DWORD PTR -72[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	test	eax, eax
	je	.L4101
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L4101
	mov	DWORD PTR -80[rbp], 5
	jmp	.L4102
.L4101:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -80[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 332[rax], 0
.L4102:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 64[rax]
	sub	eax, DWORD PTR -72[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 64[rax], edx
	cmp	DWORD PTR -80[rbp], 0
	js	.L4103
	mov	eax, DWORD PTR max_ignore_code.8[rip]
	cmp	DWORD PTR -80[rbp], eax
	jge	.L4103
	mov	rdx, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR -80[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	je	.L4103
	mov	eax, DWORD PTR -80[rbp]
	jmp	.L4099
.L4103:
	cmp	DWORD PTR -72[rbp], 0
	je	.L4104
	cmp	DWORD PTR -80[rbp], 5
	jne	.L4104
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L4105
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	jmp	.L4106
.L4105:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4107
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4107:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
.L4106:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 72[rax], 0
.L4104:
	cmp	DWORD PTR -92[rbp], 1
	jle	.L4108
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L4109
	mov	eax, 1
	jmp	.L4099
.L4109:
	cmp	DWORD PTR -92[rbp], 3
	jne	.L4108
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC386[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	cmp	DWORD PTR -80[rbp], 2
	jne	.L4110
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 40[rax]
	cdqe
	jmp	.L4111
.L4110:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
.L4111:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC389[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 44[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	cmp	DWORD PTR -80[rbp], 1
	jne	.L4112
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC387[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 304[rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	lea	rsi, .LC147[rip]
	mov	rdi, rax
	call	Jim_GetGlobalVariableStr
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L4112
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, -1
	lea	rsi, .LC388[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L4112:
	mov	rax, QWORD PTR -104[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L4108
	mov	eax, 1
	jmp	.L4099
.L4108:
	mov	eax, DWORD PTR -80[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4113
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4113:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4099:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4114
	call	__stack_chk_fail@PLT
.L4114:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE510:
	.size	Jim_CatchCoreCommand, .-Jim_CatchCoreCommand
	.section	.rodata
.LC422:
	.string	"string tag ?finalizer?"
	.text
	.type	Jim_RefCoreCommand, @function
Jim_RefCoreCommand:
.LFB511:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 3
	je	.L4119
	cmp	DWORD PTR -28[rbp], 4
	je	.L4119
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC422[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4120
.L4119:
	cmp	DWORD PTR -28[rbp], 3
	jne	.L4121
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_NewReference
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4122
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4122:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4123
.L4121:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_NewReference
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4124
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4124:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
.L4123:
	mov	eax, 0
.L4120:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE511:
	.size	Jim_RefCoreCommand, .-Jim_RefCoreCommand
	.type	Jim_GetrefCoreCommand, @function
Jim_GetrefCoreCommand:
.LFB512:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 2
	je	.L4126
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC228[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4127
.L4126:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetReference
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4128
	mov	eax, 1
	jmp	.L4127
.L4128:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4129
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4129:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4127:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE512:
	.size	Jim_GetrefCoreCommand, .-Jim_GetrefCoreCommand
	.section	.rodata
.LC423:
	.string	"reference newValue"
	.text
	.type	Jim_SetrefCoreCommand, @function
Jim_SetrefCoreCommand:
.LFB513:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 3
	je	.L4131
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC423[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4132
.L4131:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetReference
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4133
	mov	eax, 1
	jmp	.L4132
.L4133:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4134
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4134:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4135
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4135:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4132:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE513:
	.size	Jim_SetrefCoreCommand, .-Jim_SetrefCoreCommand
	.type	Jim_CollectCoreCommand, @function
Jim_CollectCoreCommand:
.LFB514:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 1
	je	.L4137
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC69[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4138
.L4137:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_Collect
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4139
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4139:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4140
.L4141:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rax, QWORD PTR 56[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 184[rax], rdx
.L4140:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 184[rax]
	test	rax, rax
	jne	.L4141
	mov	eax, 0
.L4138:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE514:
	.size	Jim_CollectCoreCommand, .-Jim_CollectCoreCommand
	.section	.rodata
.LC424:
	.string	"reference ?finalizerProc?"
	.text
	.type	Jim_FinalizeCoreCommand, @function
Jim_FinalizeCoreCommand:
.LFB515:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 2
	je	.L4143
	cmp	DWORD PTR -44[rbp], 3
	je	.L4143
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC424[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4144
.L4143:
	cmp	DWORD PTR -44[rbp], 2
	jne	.L4145
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetFinalizer
	test	eax, eax
	je	.L4146
	mov	eax, 1
	jmp	.L4144
.L4146:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	je	.L4149
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4148
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4148:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4149
.L4145:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetFinalizer
	test	eax, eax
	je	.L4150
	mov	eax, 1
	jmp	.L4144
.L4150:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4151
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4151:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L4149:
	mov	eax, 0
.L4144:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4152
	call	__stack_chk_fail@PLT
.L4152:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE515:
	.size	Jim_FinalizeCoreCommand, .-Jim_FinalizeCoreCommand
	.type	JimInfoReferences, @function
JimInfoReferences:
.LFB516:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	QWORD PTR -152[rbp], rdi
	mov	DWORD PTR -156[rbp], esi
	mov	QWORD PTR -168[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	lea	rdx, 240[rax]
	lea	rax, -96[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	JimInitHashTableIterator
	jmp	.L4154
.L4155:
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -112[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -112[rbp]
	lea	rax, -64[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimFormatReference
	lea	rcx, -64[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L4154:
	lea	rax, -96[rbp]
	mov	rdi, rax
	call	Jim_NextHashEntry
	mov	QWORD PTR -128[rbp], rax
	cmp	QWORD PTR -128[rbp], 0
	jne	.L4155
	mov	rax, QWORD PTR -136[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4156
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4156:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4158
	call	__stack_chk_fail@PLT
.L4158:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE516:
	.size	JimInfoReferences, .-JimInfoReferences
	.section	.rodata
.LC425:
	.string	"oldName newName"
.LC426:
	.string	"new procedure"
	.text
	.type	Jim_RenameCoreCommand, @function
Jim_RenameCoreCommand:
.LFB517:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 3
	je	.L4160
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC425[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4161
.L4160:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC426[rip]
	mov	rdi, rax
	call	JimValidName
	test	eax, eax
	je	.L4162
	mov	eax, 1
	jmp	.L4161
.L4162:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rbx, rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, rbx
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_RenameCommand
.L4161:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE517:
	.size	Jim_RenameCoreCommand, .-Jim_RenameCoreCommand
	.type	JimDictMatchKeys, @function
JimDictMatchKeys:
.LFB518:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	je	.L4165
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L4165:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE518:
	.size	JimDictMatchKeys, .-JimDictMatchKeys
	.type	JimDictPatternMatch, @function
JimDictPatternMatch:
.LFB519:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 120
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	QWORD PTR -104[rbp], rdx
	mov	QWORD PTR -112[rbp], rcx
	mov	DWORD PTR -116[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -80[rbp], rax
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimInitHashTableIterator
	jmp	.L4167
.L4169:
	cmp	QWORD PTR -104[rbp], 0
	je	.L4168
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	edx, 0
	mov	rsi, rbx
	mov	rdi, rax
	call	JimGlobMatch
	test	eax, eax
	je	.L4167
.L4168:
	mov	ecx, DWORD PTR -116[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	r8, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	r8
.L4167:
	lea	rax, -64[rbp]
	mov	rdi, rax
	call	Jim_NextHashEntry
	mov	QWORD PTR -72[rbp], rax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L4169
	mov	rax, QWORD PTR -80[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L4171
	call	__stack_chk_fail@PLT
.L4171:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE519:
	.size	JimDictPatternMatch, .-JimDictPatternMatch
	.globl	Jim_DictKeys
	.type	Jim_DictKeys, @function
Jim_DictKeys:
.LFB520:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L4173
	mov	eax, 1
	jmp	.L4174
.L4173:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 0
	lea	rcx, JimDictMatchKeys[rip]
	mov	rdi, rax
	call	JimDictPatternMatch
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4175
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4175:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4174:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE520:
	.size	Jim_DictKeys, .-Jim_DictKeys
	.globl	Jim_DictValues
	.type	Jim_DictValues, @function
Jim_DictValues:
.LFB521:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L4177
	mov	eax, 1
	jmp	.L4178
.L4177:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR 24[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 1
	lea	rcx, JimDictMatchKeys[rip]
	mov	rdi, rax
	call	JimDictPatternMatch
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4179
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4179:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4178:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE521:
	.size	Jim_DictValues, .-Jim_DictValues
	.globl	Jim_DictSize
	.type	Jim_DictSize, @function
Jim_DictSize:
.LFB522:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L4181
	mov	eax, -1
	jmp	.L4182
.L4181:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	eax, DWORD PTR 32[rax]
.L4182:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE522:
	.size	Jim_DictSize, .-Jim_DictSize
	.section	.rodata
	.align 8
.LC427:
	.string	"%d entries in table, %d buckets\n"
.LC428:
	.string	"%d: "
.LC429:
	.string	" %s"
	.text
	.globl	Jim_DictInfo
	.type	Jim_DictInfo, @function
Jim_DictInfo:
.LFB523:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetDictFromAny
	test	eax, eax
	je	.L4184
	mov	eax, 1
	jmp	.L4185
.L4184:
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	esi, eax
	lea	rdi, .LC427[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -20[rbp], 0
	jmp	.L4186
.L4190:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -20[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L4187
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC428[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L4188
.L4189:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rsi, rax
	lea	rdi, .LC429[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -16[rbp], rax
.L4188:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4189
	mov	edi, 10
	call	putchar@PLT
.L4187:
	add	DWORD PTR -20[rbp], 1
.L4186:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 24[rax]
	cmp	DWORD PTR -20[rbp], eax
	jb	.L4190
	mov	eax, 0
.L4185:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE523:
	.size	Jim_DictInfo, .-Jim_DictInfo
	.type	Jim_EvalEnsemble, @function
Jim_EvalEnsemble:
.LFB524:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	QWORD PTR -56[rbp], r8
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 1
	lea	rdx, .LC339[rip]
	mov	rdi, rax
	call	Jim_AppendString
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	Jim_AppendString
	mov	rcx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_EvalObjPrefix
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE524:
	.size	Jim_EvalEnsemble, .-Jim_EvalEnsemble
	.section	.rodata
.LC430:
	.string	"subcommand ?arguments ...?"
.LC431:
	.string	"subcommand"
.LC432:
	.string	"dictionary ?key ...?"
.LC433:
	.string	"varName key ?key ...? value"
.LC434:
	.string	"dictionary key ?key ...?"
.LC435:
	.string	"varName key ?key ...?"
.LC436:
	.string	"dictionary ?pattern?"
.LC437:
	.string	"dictionary"
.LC438:
	.string	"?key value ...?"
	.text
	.type	Jim_DictCoreCommand, @function
Jim_DictCoreCommand:
.LFB525:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -76[rbp], 1
	jg	.L4194
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC430[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4194:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r9d, 1
	lea	r8, .LC431[rip]
	mov	rcx, rdx
	lea	rdx, options.7[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L4196
	mov	eax, 1
	jmp	.L4231
.L4196:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, 17
	ja	.L4197
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4199[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4199[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4199:
	.long	.L4208-.L4199
	.long	.L4207-.L4199
	.long	.L4206-.L4199
	.long	.L4205-.L4199
	.long	.L4204-.L4199
	.long	.L4203-.L4199
	.long	.L4202-.L4199
	.long	.L4201-.L4199
	.long	.L4200-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4197-.L4199
	.long	.L4198-.L4199
	.text
.L4207:
	cmp	DWORD PTR -76[rbp], 2
	jg	.L4209
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC432[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4209:
	mov	eax, DWORD PTR -76[rbp]
	lea	ecx, -3[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	lea	rdi, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r9d, 1
	mov	r8, rdi
	mov	rdi, rax
	call	Jim_DictKeysVector
	test	eax, eax
	je	.L4210
	mov	eax, 1
	jmp	.L4231
.L4210:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4211
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4211:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4231
.L4206:
	cmp	DWORD PTR -76[rbp], 4
	jg	.L4212
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC433[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4212:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdi, QWORD PTR [rax]
	mov	eax, DWORD PTR -76[rbp]
	lea	ecx, -4[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	r9d, 1
	mov	r8, rdi
	mov	rdi, rax
	call	Jim_SetDictKeysVector
	jmp	.L4231
.L4204:
	cmp	DWORD PTR -76[rbp], 3
	jg	.L4213
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC434[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4213:
	mov	eax, DWORD PTR -76[rbp]
	lea	ecx, -3[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	lea	rdi, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	r9d, 1
	mov	r8, rdi
	mov	rdi, rax
	call	Jim_DictKeysVector
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	jns	.L4214
	mov	eax, 1
	jmp	.L4231
.L4214:
	cmp	DWORD PTR -52[rbp], 0
	sete	al
	movzx	edx, al
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4215
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4215:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4231
.L4205:
	cmp	DWORD PTR -76[rbp], 3
	jg	.L4216
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC435[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4216:
	mov	eax, DWORD PTR -76[rbp]
	lea	ecx, -3[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, 24[rax]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	call	Jim_SetDictKeysVector
	test	eax, eax
	je	.L4217
	mov	eax, 1
	jmp	.L4231
.L4217:
	mov	eax, 0
	jmp	.L4231
.L4203:
	cmp	DWORD PTR -76[rbp], 3
	je	.L4218
	cmp	DWORD PTR -76[rbp], 4
	je	.L4218
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC436[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4218:
	cmp	DWORD PTR -76[rbp], 4
	jne	.L4219
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 24[rax]
	jmp	.L4220
.L4219:
	mov	eax, 0
.L4220:
	mov	rdx, QWORD PTR -88[rbp]
	add	rdx, 16
	mov	rsi, QWORD PTR [rdx]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, rax
	mov	rdi, rcx
	call	Jim_DictKeys
	jmp	.L4231
.L4202:
	cmp	DWORD PTR -76[rbp], 3
	je	.L4221
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC437[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4221:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	test	eax, eax
	jns	.L4222
	mov	eax, 1
	jmp	.L4231
.L4222:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	movsx	rdx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4223
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4223:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4231
.L4200:
	cmp	DWORD PTR -76[rbp], 2
	jne	.L4224
	mov	eax, 0
	jmp	.L4231
.L4224:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictSize
	test	eax, eax
	jns	.L4233
	mov	eax, 1
	jmp	.L4231
.L4198:
	cmp	DWORD PTR -76[rbp], 5
	jle	.L4226
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 1
	test	eax, eax
	je	.L4234
.L4226:
	mov	DWORD PTR -76[rbp], 2
	jmp	.L4234
.L4208:
	mov	eax, DWORD PTR -76[rbp]
	and	eax, 1
	test	eax, eax
	je	.L4228
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC438[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4228:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -88[rbp]
	lea	rcx, 16[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewDictObj
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4229
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4229:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4231
.L4201:
	cmp	DWORD PTR -76[rbp], 3
	je	.L4230
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC437[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4231
.L4230:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_DictInfo
	jmp	.L4231
.L4233:
	nop
	jmp	.L4197
.L4234:
	nop
.L4197:
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, 16[rax]
	mov	eax, DWORD PTR -76[rbp]
	lea	ecx, -2[rax]
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, options.7[rip]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	r8, rsi
	lea	rsi, .LC264[rip]
	mov	rdi, rax
	call	Jim_EvalEnsemble
.L4231:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4232
	call	__stack_chk_fail@PLT
.L4232:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE525:
	.size	Jim_DictCoreCommand, .-Jim_DictCoreCommand
	.section	.rodata
.LC439:
	.string	"?options? string"
	.text
	.type	Jim_SubstCoreCommand, @function
Jim_SubstCoreCommand:
.LFB526:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 128
	cmp	DWORD PTR -44[rbp], 1
	jg	.L4236
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC439[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4247
.L4236:
	mov	DWORD PTR -32[rbp], 1
	jmp	.L4238
.L4244:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	r9d, 3
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, options.6[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L4239
	mov	eax, 1
	jmp	.L4247
.L4239:
	mov	eax, DWORD PTR -24[rbp]
	cmp	eax, 2
	je	.L4240
	cmp	eax, 2
	jg	.L4241
	test	eax, eax
	je	.L4242
	cmp	eax, 1
	je	.L4243
	jmp	.L4241
.L4242:
	or	DWORD PTR -28[rbp], 4
	jmp	.L4241
.L4243:
	or	DWORD PTR -28[rbp], 2
	jmp	.L4241
.L4240:
	or	DWORD PTR -28[rbp], 1
	nop
.L4241:
	add	DWORD PTR -32[rbp], 1
.L4238:
	mov	eax, DWORD PTR -44[rbp]
	sub	eax, 1
	cmp	DWORD PTR -32[rbp], eax
	jl	.L4244
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rsi, QWORD PTR [rax]
	mov	ecx, DWORD PTR -28[rbp]
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_SubstObj
	test	eax, eax
	je	.L4245
	mov	eax, 1
	jmp	.L4247
.L4245:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4246
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4246:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4247:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4248
	call	__stack_chk_fail@PLT
.L4248:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE526:
	.size	Jim_SubstCoreCommand, .-Jim_SubstCoreCommand
	.section	.rodata
.LC440:
	.string	"subcommand ?args ...?"
.LC441:
	.string	"varName"
.LC442:
	.string	"command \"%#s\" is not an alias"
.LC443:
	.string	"?pattern?"
.LC444:
	.string	"source ?filename line?"
.LC445:
	.string	"?levelNum?"
.LC446:
	.string	"procname"
	.align 8
.LC447:
	.string	"command \"%#s\" is not a procedure"
.LC448:
	.string	"%d.%d"
.LC449:
	.string	"script ?missing?"
.LC450:
	.string	"os.gethostname"
.LC451:
	.string	"{info nameofexecutable}"
.LC452:
	.string	"?code?"
	.text
	.type	Jim_InfoCoreCommand, @function
Jim_InfoCoreCommand:
.LFB527:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 328
	.cfi_offset 3, -24
	mov	QWORD PTR -312[rbp], rdi
	mov	DWORD PTR -316[rbp], esi
	mov	QWORD PTR -328[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -292[rbp], 0
	cmp	DWORD PTR -316[rbp], 1
	jg	.L4250
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC440[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4250:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -296[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r9d, 3
	lea	r8, .LC431[rip]
	mov	rcx, rdx
	lea	rdx, commands.5[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L4252
	mov	eax, 1
	jmp	.L4334
.L4252:
	mov	eax, DWORD PTR -296[rbp]
	cmp	eax, 22
	ja	.L4253
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4255[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4255[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4255:
	.long	.L4263-.L4255
	.long	.L4263-.L4255
	.long	.L4273-.L4255
	.long	.L4272-.L4255
	.long	.L4271-.L4255
	.long	.L4270-.L4255
	.long	.L4269-.L4255
	.long	.L4268-.L4255
	.long	.L4268-.L4255
	.long	.L4267-.L4255
	.long	.L4266-.L4255
	.long	.L4265-.L4255
	.long	.L4265-.L4255
	.long	.L4264-.L4255
	.long	.L4263-.L4255
	.long	.L4262-.L4255
	.long	.L4261-.L4255
	.long	.L4260-.L4255
	.long	.L4259-.L4255
	.long	.L4258-.L4255
	.long	.L4257-.L4255
	.long	.L4256-.L4255
	.long	.L4254-.L4255
	.text
.L4270:
	cmp	DWORD PTR -316[rbp], 3
	je	.L4274
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC441[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4274:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	test	rax, rax
	setne	al
	movzx	edx, al
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4275
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4275:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -128[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4254:
	cmp	DWORD PTR -316[rbp], 3
	je	.L4276
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC212[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4276:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -256[rbp], rax
	cmp	QWORD PTR -256[rbp], 0
	jne	.L4277
	mov	eax, 1
	jmp	.L4334
.L4277:
	mov	rax, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L4278
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, JimAliasCmd[rip]
	cmp	rax, rdx
	je	.L4279
.L4278:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	lea	rsi, .LC442[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L4334
.L4279:
	mov	rax, QWORD PTR -256[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	QWORD PTR -248[rbp], rax
	mov	rax, QWORD PTR -248[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -248[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4280
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4280:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -248[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4334
.L4271:
	add	DWORD PTR -292[rbp], 1
.L4272:
	add	DWORD PTR -292[rbp], 1
.L4273:
	cmp	DWORD PTR -316[rbp], 2
	je	.L4281
	cmp	DWORD PTR -316[rbp], 3
	je	.L4281
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC443[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4281:
	cmp	DWORD PTR -316[rbp], 3
	jne	.L4282
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	jmp	.L4283
.L4282:
	mov	eax, 0
.L4283:
	mov	edx, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -312[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	JimCommandsList
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4284
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4284:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4266:
	add	DWORD PTR -292[rbp], 1
.L4267:
	add	DWORD PTR -292[rbp], 1
.L4269:
	cmp	DWORD PTR -316[rbp], 2
	je	.L4285
	cmp	DWORD PTR -316[rbp], 3
	je	.L4285
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC443[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4285:
	cmp	DWORD PTR -316[rbp], 3
	jne	.L4286
	mov	rax, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR 16[rax]
	jmp	.L4287
.L4286:
	mov	eax, 0
.L4287:
	mov	edx, DWORD PTR -292[rbp]
	mov	rcx, QWORD PTR -312[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	JimVariablesList
	mov	QWORD PTR -136[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4288
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4288:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4261:
	cmp	DWORD PTR -316[rbp], 2
	je	.L4289
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC69[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4289:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR 192[rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetScript
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -176[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4290
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4290:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -176[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4260:
	cmp	DWORD PTR -316[rbp], 3
	je	.L4291
	cmp	DWORD PTR -316[rbp], 5
	je	.L4291
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC444[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4291:
	cmp	DWORD PTR -316[rbp], 5
	jne	.L4293
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 32
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4294
	mov	eax, 1
	jmp	.L4334
.L4294:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	mov	ebx, eax
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rcx, rax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, ebx
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -272[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	mov	ecx, eax
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	JimSetSourceInfo
	jmp	.L4295
.L4293:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, sourceObjType[rip]
	cmp	rax, rdx
	jne	.L4296
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	eax, DWORD PTR 32[rax]
	cdqe
	mov	QWORD PTR -280[rbp], rax
	jmp	.L4297
.L4296:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, scriptObjType[rip]
	cmp	rax, rdx
	jne	.L4298
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimGetScript
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	eax, DWORD PTR 28[rax]
	cdqe
	mov	QWORD PTR -280[rbp], rax
	jmp	.L4297
.L4298:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 208[rax]
	mov	QWORD PTR -264[rbp], rax
	mov	QWORD PTR -280[rbp], 1
.L4297:
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -272[rbp], rax
	mov	rdx, QWORD PTR -264[rbp]
	mov	rcx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -272[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L4295:
	mov	rax, QWORD PTR -272[rbp]
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -184[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4299
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4299:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -184[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4259:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 304[rax]
	mov	QWORD PTR -200[rbp], rax
	mov	rax, QWORD PTR -200[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -200[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4300
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4300:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -200[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4268:
	cmp	DWORD PTR -316[rbp], 2
	je	.L4301
	cmp	DWORD PTR -316[rbp], 3
	je	.L4302
	jmp	.L4336
.L4301:
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	eax, DWORD PTR 8[rax]
	movsx	rdx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -144[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4304
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4304:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4305
.L4302:
	mov	eax, DWORD PTR -296[rbp]
	cmp	eax, 7
	sete	al
	movzx	ecx, al
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	JimInfoLevel
	test	eax, eax
	je	.L4306
	mov	eax, 1
	jmp	.L4334
.L4306:
	mov	rax, QWORD PTR -280[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -152[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4307
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4307:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4305
.L4336:
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC445[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4305:
	jmp	.L4253
.L4263:
	cmp	DWORD PTR -316[rbp], 3
	je	.L4308
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC446[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4308:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -112[rbp], rax
	cmp	QWORD PTR -112[rbp], 0
	jne	.L4309
	mov	eax, 1
	jmp	.L4334
.L4309:
	mov	rax, QWORD PTR -112[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L4310
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	lea	rsi, .LC447[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L4334
.L4310:
	mov	eax, DWORD PTR -296[rbp]
	cmp	eax, 14
	je	.L4311
	cmp	eax, 14
	jg	.L4337
	test	eax, eax
	je	.L4313
	cmp	eax, 1
	je	.L4314
	jmp	.L4337
.L4313:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4315
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4315:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4312
.L4311:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4316
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4316:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4312
.L4314:
	mov	rax, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L4338
	mov	DWORD PTR -284[rbp], 4097
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	edx, DWORD PTR -284[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	r8d, edx
	lea	rcx, JimVariablesMatch[rip]
	mov	edx, 0
	mov	rdi, rax
	call	JimHashtablePatternMatch
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -96[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4318
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4318:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	QWORD PTR [rax], rdx
.L4338:
	nop
.L4312:
	jmp	.L4337
.L4265:
	lea	rax, -80[rbp]
	mov	ecx, 76
	mov	edx, 0
	lea	rsi, .LC448[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	lea	rcx, -80[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -160[rbp], rax
	mov	rax, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -160[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4319
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4319:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -160[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4264:
	cmp	DWORD PTR -316[rbp], 3
	je	.L4320
	cmp	DWORD PTR -316[rbp], 4
	je	.L4320
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC449[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4320:
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ScriptIsComplete
	movsx	rdx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -168[rbp], rax
	mov	rax, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4321
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4321:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rax], rdx
	movzx	eax, BYTE PTR -280[rbp]
	cmp	al, 32
	je	.L4339
	cmp	DWORD PTR -316[rbp], 4
	jne	.L4339
	lea	rcx, -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	jmp	.L4339
.L4262:
	mov	rax, QWORD PTR -312[rbp]
	lea	rsi, .LC450[rip]
	mov	rdi, rax
	call	Jim_Eval
	jmp	.L4334
.L4258:
	mov	rax, QWORD PTR -312[rbp]
	lea	rsi, .LC451[rip]
	mov	rdi, rax
	call	Jim_Eval
	jmp	.L4334
.L4257:
	cmp	DWORD PTR -316[rbp], 2
	jne	.L4323
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -216[rbp], rax
	mov	DWORD PTR -288[rbp], 0
	jmp	.L4324
.L4325:
	mov	eax, DWORD PTR -288[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -288[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, jimReturnCodes[rip]
	mov	rcx, QWORD PTR [rdx+rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -216[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	add	DWORD PTR -288[rbp], 1
.L4324:
	mov	eax, DWORD PTR -288[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, jimReturnCodes[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L4325
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -208[rbp], rax
	mov	rax, QWORD PTR -208[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -208[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4326
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4326:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -208[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4323:
	cmp	DWORD PTR -316[rbp], 3
	jne	.L4328
	mov	rax, QWORD PTR -328[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	je	.L4329
	mov	eax, 1
	jmp	.L4334
.L4329:
	mov	rax, QWORD PTR -280[rbp]
	mov	edi, eax
	call	Jim_ReturnCode
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -240[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L4330
	mov	rdx, QWORD PTR -280[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -224[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -224[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4331
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4331:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -224[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4330:
	mov	rcx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -232[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4333
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4333:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -232[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4253
.L4328:
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -312[rbp]
	lea	rcx, .LC452[rip]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4334
.L4256:
	mov	rdx, QWORD PTR -328[rbp]
	mov	ecx, DWORD PTR -316[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimInfoReferences
	jmp	.L4334
.L4337:
	nop
	jmp	.L4253
.L4339:
	nop
.L4253:
	mov	eax, 0
.L4334:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L4335
	call	__stack_chk_fail@PLT
.L4335:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE527:
	.size	Jim_InfoCoreCommand, .-Jim_InfoCoreCommand
	.section	.rodata
.LC453:
	.string	"?option? name"
	.text
	.type	Jim_ExistsCoreCommand, @function
Jim_ExistsCoreCommand:
.LFB528:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
	cmp	DWORD PTR -60[rbp], 2
	jne	.L4341
	mov	DWORD PTR -40[rbp], 3
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L4342
.L4341:
	cmp	DWORD PTR -60[rbp], 3
	jne	.L4343
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	r9d, 3
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, options.4[rip]
	mov	rdi, rax
	call	Jim_GetEnum
	test	eax, eax
	je	.L4344
	mov	eax, 1
	jmp	.L4354
.L4344:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L4342
.L4343:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC453[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4354
.L4342:
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 3
	jne	.L4346
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetVariable
	test	rax, rax
	setne	al
	movzx	eax, al
	mov	DWORD PTR -36[rbp], eax
	jmp	.L4347
.L4346:
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetCommand
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L4356
	mov	eax, DWORD PTR -40[rbp]
	cmp	eax, 2
	je	.L4348
	cmp	eax, 2
	jg	.L4347
	test	eax, eax
	je	.L4349
	cmp	eax, 1
	je	.L4350
	jmp	.L4347
.L4349:
	mov	DWORD PTR -36[rbp], 1
	jmp	.L4347
.L4348:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	test	eax, eax
	jne	.L4351
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rdx, JimAliasCmd[rip]
	cmp	rax, rdx
	jne	.L4351
	mov	eax, 1
	jmp	.L4352
.L4351:
	mov	eax, 0
.L4352:
	mov	DWORD PTR -36[rbp], eax
	jmp	.L4347
.L4350:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L4347
.L4356:
	nop
.L4347:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4353
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4353:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4354:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4355
	call	__stack_chk_fail@PLT
.L4355:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE528:
	.size	Jim_ExistsCoreCommand, .-Jim_ExistsCoreCommand
	.section	.rodata
.LC454:
	.string	"string ?splitChars?"
.LC455:
	.string	" \n\t\r"
	.text
	.type	Jim_SplitCoreCommand, @function
Jim_SplitCoreCommand:
.LFB529:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 152
	.cfi_offset 3, -24
	mov	QWORD PTR -136[rbp], rdi
	mov	DWORD PTR -140[rbp], esi
	mov	QWORD PTR -152[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -140[rbp], 2
	je	.L4358
	cmp	DWORD PTR -140[rbp], 3
	je	.L4358
	mov	rdx, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR -136[rbp]
	lea	rcx, .LC454[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4377
.L4358:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rdx, -116[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -88[rbp], rax
	mov	eax, DWORD PTR -116[rbp]
	test	eax, eax
	jne	.L4360
	mov	eax, 0
	jmp	.L4377
.L4360:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -104[rbp], eax
	cmp	DWORD PTR -140[rbp], 2
	jne	.L4361
	lea	rax, .LC455[rip]
	mov	QWORD PTR -80[rbp], rax
	mov	DWORD PTR -108[rbp], 4
	jmp	.L4362
.L4361:
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -152[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -108[rbp], eax
.L4362:
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -48[rbp], rax
	cmp	DWORD PTR -108[rbp], 0
	je	.L4363
	jmp	.L4364
.L4369:
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR -100[rbp], eax
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -120[rbp], eax
	mov	DWORD PTR -92[rbp], 1
	jmp	.L4365
.L4368:
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -112[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -64[rbp], rax
	mov	edx, DWORD PTR -120[rbp]
	mov	eax, DWORD PTR -112[rbp]
	cmp	edx, eax
	jne	.L4365
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, QWORD PTR -72[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -92[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	QWORD PTR -72[rbp], rax
	jmp	.L4367
.L4365:
	mov	eax, DWORD PTR -100[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -100[rbp], edx
	test	eax, eax
	jne	.L4368
.L4367:
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	add	QWORD PTR -88[rbp], rax
.L4364:
	mov	eax, DWORD PTR -104[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -104[rbp], edx
	test	eax, eax
	jne	.L4369
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, QWORD PTR -72[rbp]
	mov	edx, eax
	mov	rcx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	jmp	.L4370
.L4363:
	mov	QWORD PTR -56[rbp], 0
	jmp	.L4371
.L4375:
	mov	rax, QWORD PTR -88[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -120[rbp], eax
	mov	DWORD PTR -96[rbp], 1
	mov	eax, DWORD PTR -120[rbp]
	cmp	eax, 8
	jle	.L4372
	mov	eax, DWORD PTR -120[rbp]
	cmp	eax, 127
	jg	.L4372
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, 9
	mov	DWORD PTR -120[rbp], eax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L4373
	mov	edi, 952
	call	Jim_Alloc
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 952
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
.L4373:
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4374
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	lea	rbx, [rdx+rax]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR [rbx], rax
.L4374:
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	add	QWORD PTR -88[rbp], 1
	jmp	.L4371
.L4372:
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjUtf8
	mov	rdx, rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	add	QWORD PTR -88[rbp], rax
.L4371:
	mov	eax, DWORD PTR -104[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -104[rbp], edx
	test	eax, eax
	jne	.L4375
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_Free
.L4370:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4376
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4376:
	mov	rax, QWORD PTR -136[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4377:
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L4378
	call	__stack_chk_fail@PLT
.L4378:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE529:
	.size	Jim_SplitCoreCommand, .-Jim_SplitCoreCommand
	.section	.rodata
.LC456:
	.string	"list ?joinString?"
	.text
	.type	Jim_JoinCoreCommand, @function
Jim_JoinCoreCommand:
.LFB530:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 2
	je	.L4380
	cmp	DWORD PTR -44[rbp], 3
	je	.L4380
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC456[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4385
.L4380:
	cmp	DWORD PTR -44[rbp], 2
	jne	.L4382
	lea	rax, .LC339[rip]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -28[rbp], 1
	jmp	.L4383
.L4382:
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	lea	rdx, -28[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -24[rbp], rax
.L4383:
	mov	ecx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	Jim_ListJoin
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4384
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4384:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4385:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4386
	call	__stack_chk_fail@PLT
.L4386:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE530:
	.size	Jim_JoinCoreCommand, .-Jim_JoinCoreCommand
	.section	.rodata
.LC457:
	.string	"formatString ?arg arg ...?"
	.text
	.type	Jim_FormatCoreCommand, @function
Jim_FormatCoreCommand:
.LFB531:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 1
	jg	.L4388
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC457[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4389
.L4388:
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, 16[rax]
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_FormatString
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4390
	mov	eax, 1
	jmp	.L4389
.L4390:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4391
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4391:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4389:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE531:
	.size	Jim_FormatCoreCommand, .-Jim_FormatCoreCommand
	.section	.rodata
	.align 8
.LC458:
	.string	"string format ?varName varName ...?"
	.align 8
.LC459:
	.string	"\"%n$\" argument index out of range"
	.align 8
.LC460:
	.string	"different numbers of variable names and field specifiers"
	.align 8
.LC461:
	.string	"variable is not assigned by any conversion specifiers"
	.text
	.type	Jim_ScanCoreCommand, @function
Jim_ScanCoreCommand:
.LFB532:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	DWORD PTR -124[rbp], esi
	mov	QWORD PTR -136[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -124[rbp], 2
	jg	.L4393
	mov	rdx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rcx, .LC458[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4417
.L4393:
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, scanFmtStringObjType[rip]
	cmp	rax, rdx
	je	.L4395
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	SetScanFmtFromAny
.L4395:
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 40[rax]
	test	rax, rax
	je	.L4396
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rcx, QWORD PTR 40[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4397
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4397:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L4417
.L4396:
	cmp	DWORD PTR -124[rbp], 3
	jle	.L4398
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 32[rax]
	mov	DWORD PTR -92[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR 24[rax]
	mov	rax, QWORD PTR 24[rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, 2
	cmp	DWORD PTR -92[rbp], eax
	jl	.L4399
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	lea	rsi, .LC459[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4400
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4400:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L4417
.L4399:
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, 2
	cmp	DWORD PTR -88[rbp], eax
	jl	.L4401
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	lea	rsi, .LC460[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4402
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4402:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L4417
.L4401:
	mov	eax, DWORD PTR -124[rbp]
	sub	eax, 3
	cmp	DWORD PTR -88[rbp], eax
	jge	.L4398
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, -1
	lea	rsi, .LC461[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4403
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4403:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L4417
.L4398:
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_ScanString
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L4404
	mov	eax, 1
	jmp	.L4417
.L4404:
	cmp	DWORD PTR -124[rbp], 3
	jle	.L4405
	mov	DWORD PTR -100[rbp], 0
	mov	DWORD PTR -96[rbp], 0
	cmp	QWORD PTR -48[rbp], 0
	je	.L4406
	cmp	QWORD PTR -48[rbp], -1
	je	.L4406
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_ListLength
	mov	DWORD PTR -84[rbp], eax
	cmp	DWORD PTR -84[rbp], 0
	je	.L4407
	lea	rcx, -80[rbp]
	lea	rdx, -108[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	JimListGetElements
	mov	DWORD PTR -104[rbp], 0
	jmp	.L4408
.L4410:
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	jle	.L4409
	add	DWORD PTR -96[rbp], 1
	mov	rdx, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR -104[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, 3
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_SetVariable
	test	eax, eax
	je	.L4409
	mov	DWORD PTR -100[rbp], 1
.L4409:
	add	DWORD PTR -104[rbp], 1
.L4408:
	mov	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -104[rbp], eax
	jl	.L4410
.L4407:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	jmp	.L4411
.L4406:
	mov	DWORD PTR -96[rbp], -1
.L4411:
	cmp	DWORD PTR -100[rbp], 0
	jne	.L4412
	mov	eax, DWORD PTR -96[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4413
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4413:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
.L4412:
	mov	eax, DWORD PTR -100[rbp]
	jmp	.L4417
.L4405:
	cmp	QWORD PTR -48[rbp], -1
	jne	.L4414
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4415
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4415:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4417
.L4414:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4416
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4416:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4417:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4418
	call	__stack_chk_fail@PLT
.L4418:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE532:
	.size	Jim_ScanCoreCommand, .-Jim_ScanCoreCommand
	.section	.rodata
.LC462:
	.string	"message ?stacktrace?"
	.text
	.type	Jim_ErrorCoreCommand, @function
Jim_ErrorCoreCommand:
.LFB533:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 2
	je	.L4420
	cmp	DWORD PTR -28[rbp], 3
	je	.L4420
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC462[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4421
.L4420:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4422
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4422:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	cmp	DWORD PTR -28[rbp], 3
	jne	.L4423
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	JimSetStackTrace
	mov	eax, 1
	jmp	.L4421
.L4423:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 24[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 24[rax], edx
	mov	eax, 1
.L4421:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE533:
	.size	Jim_ErrorCoreCommand, .-Jim_ErrorCoreCommand
	.section	.rodata
.LC463:
	.string	"list first last"
	.text
	.type	Jim_LrangeCoreCommand, @function
Jim_LrangeCoreCommand:
.LFB534:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 4
	je	.L4425
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC463[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4426
.L4425:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_ListRange
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4427
	mov	eax, 1
	jmp	.L4426
.L4427:
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4428
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4428:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4426:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE534:
	.size	Jim_LrangeCoreCommand, .-Jim_LrangeCoreCommand
	.section	.rodata
.LC464:
	.string	"count ?value ...?"
	.text
	.type	Jim_LrepeatCoreCommand, @function
Jim_LrepeatCoreCommand:
.LFB535:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -44[rbp], 1
	jle	.L4430
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L4430
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jns	.L4431
.L4430:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rcx, .LC464[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4438
.L4431:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	je	.L4433
	cmp	DWORD PTR -44[rbp], 2
	jne	.L4434
.L4433:
	mov	eax, 0
	jmp	.L4438
.L4434:
	sub	DWORD PTR -44[rbp], 2
	add	QWORD PTR -56[rbp], 16
	mov	edx, DWORD PTR -44[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -24[rbp], rax
	jmp	.L4435
.L4436:
	mov	rcx, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, -1
	mov	rdi, rax
	call	ListInsertElements
.L4435:
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 1
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	jne	.L4436
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4437
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4437:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4438:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L4439
	call	__stack_chk_fail@PLT
.L4439:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE535:
	.size	Jim_LrepeatCoreCommand, .-Jim_LrepeatCoreCommand
	.globl	Jim_GetEnviron
	.type	Jim_GetEnviron, @function
Jim_GetEnviron:
.LFB536:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR environ[rip]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE536:
	.size	Jim_GetEnviron, .-Jim_GetEnviron
	.globl	Jim_SetEnviron
	.type	Jim_SetEnviron, @function
Jim_SetEnviron:
.LFB537:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR environ[rip], rax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE537:
	.size	Jim_SetEnviron, .-Jim_SetEnviron
	.section	.rodata
.LC465:
	.string	"varName ?default?"
	.align 8
.LC466:
	.string	"environment variable \"%#s\" does not exist"
	.text
	.type	Jim_EnvCoreCommand, @function
Jim_EnvCoreCommand:
.LFB538:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	cmp	DWORD PTR -76[rbp], 1
	jne	.L4444
	call	Jim_GetEnviron
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L4445
.L4447:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	esi, 61
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L4446
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, rdx
	mov	edx, eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
.L4446:
	add	DWORD PTR -60[rbp], 1
.L4445:
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4447
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4448
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4448:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
	jmp	.L4449
.L4444:
	cmp	DWORD PTR -76[rbp], 1
	jg	.L4450
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC465[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4449
.L4450:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	getenv@PLT
	mov	QWORD PTR -56[rbp], rax
	cmp	QWORD PTR -56[rbp], 0
	jne	.L4451
	cmp	DWORD PTR -76[rbp], 2
	jg	.L4452
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC466[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, 1
	jmp	.L4449
.L4452:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -56[rbp], rax
.L4451:
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4453
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4453:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4449:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE538:
	.size	Jim_EnvCoreCommand, .-Jim_EnvCoreCommand
	.section	.rodata
.LC467:
	.string	"fileName"
	.text
	.type	Jim_SourceCoreCommand, @function
Jim_SourceCoreCommand:
.LFB539:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -28[rbp], 2
	je	.L4455
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, .LC467[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4456
.L4455:
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalFile
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 2
	jne	.L4457
	mov	eax, 0
	jmp	.L4456
.L4457:
	mov	eax, DWORD PTR -4[rbp]
.L4456:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE539:
	.size	Jim_SourceCoreCommand, .-Jim_SourceCoreCommand
	.type	Jim_LreverseCoreCommand, @function
Jim_LreverseCoreCommand:
.LFB540:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -60[rbp], 2
	je	.L4459
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, .LC262[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4464
.L4459:
	mov	rax, QWORD PTR -72[rbp]
	add	rax, 8
	mov	rsi, QWORD PTR [rax]
	lea	rcx, -32[rbp]
	lea	rdx, -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	JimListGetElements
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -24[rbp], rax
	jmp	.L4461
.L4462:
	mov	rcx, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -36[rbp], edx
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAppendElement
.L4461:
	mov	eax, DWORD PTR -36[rbp]
	test	eax, eax
	jns	.L4462
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4463
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4463:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4464:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4465
	call	__stack_chk_fail@PLT
.L4465:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE540:
	.size	Jim_LreverseCoreCommand, .-Jim_LreverseCoreCommand
	.type	JimRangeLen, @function
JimRangeLen:
.LFB541:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	cmp	QWORD PTR -40[rbp], 0
	jne	.L4467
	mov	eax, -1
	jmp	.L4468
.L4467:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jne	.L4469
	mov	eax, 0
	jmp	.L4468
.L4469:
	cmp	QWORD PTR -40[rbp], 0
	jle	.L4470
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jle	.L4470
	mov	eax, -1
	jmp	.L4468
.L4470:
	cmp	QWORD PTR -40[rbp], 0
	jns	.L4471
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jle	.L4471
	mov	eax, -1
	jmp	.L4468
.L4471:
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jns	.L4472
	neg	QWORD PTR -8[rbp]
.L4472:
	cmp	QWORD PTR -40[rbp], 0
	jns	.L4473
	neg	QWORD PTR -40[rbp]
.L4473:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, 1
	cqo
	idiv	QWORD PTR -40[rbp]
	add	rax, 1
	mov	QWORD PTR -8[rbp], rax
	mov	eax, 2147483648
	cmp	QWORD PTR -8[rbp], rax
	jl	.L4474
	mov	QWORD PTR -8[rbp], 2147483647
.L4474:
	cmp	QWORD PTR -8[rbp], 0
	js	.L4475
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L4468
.L4475:
	mov	eax, -1
.L4468:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE541:
	.size	JimRangeLen, .-JimRangeLen
	.section	.rodata
.LC468:
	.string	"?start? end ?step?"
	.align 8
.LC469:
	.string	"Invalid (infinite?) range specified"
	.text
	.type	Jim_RangeCoreCommand, @function
Jim_RangeCoreCommand:
.LFB542:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -40[rbp], 1
	cmp	DWORD PTR -76[rbp], 1
	jle	.L4478
	cmp	DWORD PTR -76[rbp], 4
	jle	.L4479
.L4478:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC468[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4490
.L4479:
	cmp	DWORD PTR -76[rbp], 2
	jne	.L4481
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4482
	mov	eax, 1
	jmp	.L4490
.L4481:
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L4483
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4484
.L4483:
	mov	eax, 1
	jmp	.L4490
.L4484:
	cmp	DWORD PTR -76[rbp], 4
	jne	.L4482
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 24
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4482
	mov	eax, 1
	jmp	.L4490
.L4482:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	JimRangeLen
	mov	DWORD PTR -60[rbp], eax
	cmp	DWORD PTR -60[rbp], -1
	jne	.L4485
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC469[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4486
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4486:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L4490
.L4485:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -64[rbp], 0
	jmp	.L4487
.L4488:
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	imul	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAppendElement
	add	DWORD PTR -64[rbp], 1
.L4487:
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jl	.L4488
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4489
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4489:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4490:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4491
	call	__stack_chk_fail@PLT
.L4491:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE542:
	.size	Jim_RangeCoreCommand, .-Jim_RangeCoreCommand
	.section	.rodata
.LC470:
	.string	"?min? max"
.LC471:
	.string	"Invalid arguments (max < min)"
	.text
	.type	Jim_RandCoreCommand, @function
Jim_RandCoreCommand:
.LFB543:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -64[rbp], 0
	mov	QWORD PTR -56[rbp], 0
	cmp	DWORD PTR -76[rbp], 0
	jle	.L4493
	cmp	DWORD PTR -76[rbp], 3
	jle	.L4494
.L4493:
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -72[rbp]
	lea	rcx, .LC470[rip]
	mov	esi, 1
	mov	rdi, rax
	call	Jim_WrongNumArgs
	mov	eax, 1
	jmp	.L4510
.L4494:
	cmp	DWORD PTR -76[rbp], 1
	jne	.L4496
	movabs	rax, 9223372036854775807
	mov	QWORD PTR -56[rbp], rax
	jmp	.L4497
.L4496:
	cmp	DWORD PTR -76[rbp], 2
	jne	.L4498
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4497
	mov	eax, 1
	jmp	.L4510
.L4498:
	cmp	DWORD PTR -76[rbp], 3
	jne	.L4497
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L4499
	mov	rax, QWORD PTR -88[rbp]
	add	rax, 16
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4497
.L4499:
	mov	eax, 1
	jmp	.L4510
.L4497:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	sub	rax, rdx
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jns	.L4500
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, -1
	lea	rsi, .LC471[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4501
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4501:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 1
	jmp	.L4510
.L4500:
	cmp	QWORD PTR -40[rbp], 0
	je	.L4502
	movabs	rax, 9223372036854775807
	cqo
	idiv	QWORD PTR -40[rbp]
	movabs	rax, 9223372036854775807
	sub	rax, rdx
	jmp	.L4503
.L4502:
	movabs	rax, 9223372036854775807
.L4503:
	mov	QWORD PTR -32[rbp], rax
.L4506:
	lea	rcx, -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 8
	mov	rsi, rcx
	mov	rdi, rax
	call	JimRandomBytes
	mov	rax, QWORD PTR -48[rbp]
	test	rax, rax
	js	.L4506
	mov	rax, QWORD PTR -48[rbp]
	cmp	QWORD PTR -32[rbp], rax
	jg	.L4505
	jmp	.L4506
.L4505:
	cmp	QWORD PTR -40[rbp], 0
	je	.L4507
	mov	rax, QWORD PTR -48[rbp]
	cqo
	idiv	QWORD PTR -40[rbp]
	mov	rax, rdx
	jmp	.L4508
.L4507:
	mov	eax, 0
.L4508:
	mov	QWORD PTR -48[rbp], rax
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -48[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4509
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4509:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L4510:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4511
	call	__stack_chk_fail@PLT
.L4511:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE543:
	.size	Jim_RandCoreCommand, .-Jim_RandCoreCommand
	.section	.rodata
.LC472:
	.string	"alias"
.LC473:
	.string	"while"
.LC474:
	.string	"loop"
.LC475:
	.string	"for"
.LC476:
	.string	"foreach"
.LC477:
	.string	"lmap"
.LC478:
	.string	"lassign"
.LC479:
	.string	"if"
.LC480:
	.string	"lindex"
.LC481:
	.string	"lset"
.LC482:
	.string	"lsearch"
.LC483:
	.string	"llength"
.LC484:
	.string	"lappend"
.LC485:
	.string	"linsert"
.LC486:
	.string	"lreplace"
.LC487:
	.string	"lsort"
.LC488:
	.string	"append"
.LC489:
	.string	"debug"
.LC490:
	.string	"uplevel"
.LC491:
	.string	"expr"
.LC492:
	.string	"proc"
.LC493:
	.string	"concat"
.LC494:
	.string	"upvar"
.LC495:
	.string	"global"
.LC496:
	.string	"time"
.LC497:
	.string	"catch"
.LC498:
	.string	"ref"
.LC499:
	.string	"getref"
.LC500:
	.string	"setref"
.LC501:
	.string	"finalize"
.LC502:
	.string	"collect"
.LC503:
	.string	"subst"
.LC504:
	.string	"info"
.LC505:
	.string	"split"
.LC506:
	.string	"scan"
.LC507:
	.string	"lrange"
.LC508:
	.string	"lrepeat"
.LC509:
	.string	"lreverse"
.LC510:
	.string	"range"
.LC511:
	.string	"tailcall"
.LC512:
	.string	"local"
.LC513:
	.string	"upcall"
.LC514:
	.string	"apply"
	.section	.data.rel.ro.local
	.align 32
	.type	Jim_CoreCommandsTable, @object
	.size	Jim_CoreCommandsTable, 1104
Jim_CoreCommandsTable:
	.quad	.LC472
	.quad	Jim_AliasCoreCommand
	.quad	.LC183
	.quad	Jim_SetCoreCommand
	.quad	.LC185
	.quad	Jim_UnsetCoreCommand
	.quad	.LC31
	.quad	Jim_PutsCoreCommand
	.quad	.LC290
	.quad	Jim_AddCoreCommand
	.quad	.LC176
	.quad	Jim_MulCoreCommand
	.quad	.LC289
	.quad	Jim_SubCoreCommand
	.quad	.LC52
	.quad	Jim_DivCoreCommand
	.quad	.LC354
	.quad	Jim_IncrCoreCommand
	.quad	.LC473
	.quad	Jim_WhileCoreCommand
	.quad	.LC474
	.quad	Jim_LoopCoreCommand
	.quad	.LC475
	.quad	Jim_ForCoreCommand
	.quad	.LC476
	.quad	Jim_ForeachCoreCommand
	.quad	.LC477
	.quad	Jim_LmapCoreCommand
	.quad	.LC478
	.quad	Jim_LassignCoreCommand
	.quad	.LC479
	.quad	Jim_IfCoreCommand
	.quad	.LC66
	.quad	Jim_SwitchCoreCommand
	.quad	.LC262
	.quad	Jim_ListCoreCommand
	.quad	.LC480
	.quad	Jim_LindexCoreCommand
	.quad	.LC481
	.quad	Jim_LsetCoreCommand
	.quad	.LC482
	.quad	Jim_LsearchCoreCommand
	.quad	.LC483
	.quad	Jim_LlengthCoreCommand
	.quad	.LC484
	.quad	Jim_LappendCoreCommand
	.quad	.LC485
	.quad	Jim_LinsertCoreCommand
	.quad	.LC486
	.quad	Jim_LreplaceCoreCommand
	.quad	.LC487
	.quad	Jim_LsortCoreCommand
	.quad	.LC488
	.quad	Jim_AppendCoreCommand
	.quad	.LC489
	.quad	Jim_DebugCoreCommand
	.quad	.LC277
	.quad	Jim_EvalCoreCommand
	.quad	.LC490
	.quad	Jim_UplevelCoreCommand
	.quad	.LC491
	.quad	Jim_ExprCoreCommand
	.quad	.LC273
	.quad	Jim_BreakCoreCommand
	.quad	.LC274
	.quad	Jim_ContinueCoreCommand
	.quad	.LC492
	.quad	Jim_ProcCoreCommand
	.quad	.LC493
	.quad	Jim_ConcatCoreCommand
	.quad	.LC272
	.quad	Jim_ReturnCoreCommand
	.quad	.LC494
	.quad	Jim_UpvarCoreCommand
	.quad	.LC495
	.quad	Jim_GlobalCoreCommand
	.quad	.LC191
	.quad	Jim_StringCoreCommand
	.quad	.LC496
	.quad	Jim_TimeCoreCommand
	.quad	.LC276
	.quad	Jim_ExitCoreCommand
	.quad	.LC497
	.quad	Jim_CatchCoreCommand
	.quad	.LC498
	.quad	Jim_RefCoreCommand
	.quad	.LC499
	.quad	Jim_GetrefCoreCommand
	.quad	.LC500
	.quad	Jim_SetrefCoreCommand
	.quad	.LC501
	.quad	Jim_FinalizeCoreCommand
	.quad	.LC502
	.quad	Jim_CollectCoreCommand
	.quad	.LC126
	.quad	Jim_RenameCoreCommand
	.quad	.LC264
	.quad	Jim_DictCoreCommand
	.quad	.LC503
	.quad	Jim_SubstCoreCommand
	.quad	.LC504
	.quad	Jim_InfoCoreCommand
	.quad	.LC119
	.quad	Jim_ExistsCoreCommand
	.quad	.LC505
	.quad	Jim_SplitCoreCommand
	.quad	.LC114
	.quad	Jim_JoinCoreCommand
	.quad	.LC173
	.quad	Jim_FormatCoreCommand
	.quad	.LC506
	.quad	Jim_ScanCoreCommand
	.quad	.LC271
	.quad	Jim_ErrorCoreCommand
	.quad	.LC507
	.quad	Jim_LrangeCoreCommand
	.quad	.LC508
	.quad	Jim_LrepeatCoreCommand
	.quad	.LC137
	.quad	Jim_EnvCoreCommand
	.quad	.LC194
	.quad	Jim_SourceCoreCommand
	.quad	.LC509
	.quad	Jim_LreverseCoreCommand
	.quad	.LC510
	.quad	Jim_RangeCoreCommand
	.quad	.LC314
	.quad	Jim_RandCoreCommand
	.quad	.LC511
	.quad	Jim_TailcallCoreCommand
	.quad	.LC512
	.quad	Jim_LocalCoreCommand
	.quad	.LC513
	.quad	Jim_UpcallCoreCommand
	.quad	.LC514
	.quad	Jim_ApplyCoreCommand
	.quad	0
	.quad	0
	.text
	.globl	Jim_RegisterCoreCommands
	.type	Jim_RegisterCoreCommands, @function
Jim_RegisterCoreCommands:
.LFB544:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L4513
.L4514:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, Jim_CoreCommandsTable[rip+8]
	mov	rdx, QWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rcx, rax
	lea	rax, Jim_CoreCommandsTable[rip]
	mov	rsi, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 0
	mov	ecx, 0
	mov	rdi, rax
	call	Jim_CreateCommand
	add	DWORD PTR -4[rbp], 1
.L4513:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 4
	mov	rdx, rax
	lea	rax, Jim_CoreCommandsTable[rip]
	mov	rax, QWORD PTR [rdx+rax]
	test	rax, rax
	jne	.L4514
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE544:
	.size	Jim_RegisterCoreCommands, .-Jim_RegisterCoreCommands
	.section	.rodata
.LC515:
	.string	"errorInfo"
	.text
	.globl	Jim_MakeErrorMessage
	.type	Jim_MakeErrorMessage, @function
Jim_MakeErrorMessage:
.LFB545:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	lea	rsi, .LC515[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	lea	rdx, -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	Jim_EvalObjVector
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L4516
	call	__stack_chk_fail@PLT
.L4516:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE545:
	.size	Jim_MakeErrorMessage, .-Jim_MakeErrorMessage
	.section	.rodata
.LC516:
	.string	"option"
.LC517:
	.string	"%s%s \"%s\": must be "
.LC518:
	.string	"or "
.LC519:
	.string	", "
	.text
	.type	JimSetFailedEnumResult, @function
JimSetFailedEnumResult:
.LFB546:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	QWORD PTR -56[rbp], r8
	mov	QWORD PTR -64[rbp], r9
	mov	DWORD PTR -16[rbp], 0
	jmp	.L4518
.L4519:
	add	DWORD PTR -16[rbp], 1
.L4518:
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4519
	cmp	QWORD PTR -64[rbp], 0
	jne	.L4520
	lea	rax, .LC516[rip]
	mov	QWORD PTR -64[rbp], rax
.L4520:
	mov	rsi, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8, rsi
	lea	rsi, .LC517[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	sal	eax, 3
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcpy@PLT
	mov	eax, DWORD PTR -16[rbp]
	movsx	rsi, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, qsortCompareStringPointers[rip]
	mov	edx, 8
	mov	rdi, rax
	call	qsort@PLT
	mov	DWORD PTR -12[rbp], 0
	jmp	.L4521
.L4524:
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	jne	.L4522
	cmp	DWORD PTR -16[rbp], 1
	jle	.L4522
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, -1
	lea	rdx, .LC518[rip]
	mov	rdi, rax
	call	Jim_AppendString
.L4522:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 1
	cmp	DWORD PTR -16[rbp], eax
	je	.L4523
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, -1
	lea	rdx, .LC519[rip]
	mov	rdi, rax
	call	Jim_AppendString
.L4523:
	add	DWORD PTR -12[rbp], 1
.L4521:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jl	.L4524
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_Free
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE546:
	.size	JimSetFailedEnumResult, .-JimSetFailedEnumResult
	.section	.rodata
.LC520:
	.string	"bad "
.LC521:
	.string	"ambiguous "
	.text
	.globl	Jim_GetEnum
	.type	Jim_GetEnum, @function
Jim_GetEnum:
.LFB547:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	QWORD PTR -88[rbp], r8
	mov	DWORD PTR -92[rbp], r9d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, .LC520[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	mov	DWORD PTR -36[rbp], -1
	lea	rdx, -44[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -40[rbp], 0
	jmp	.L4526
.L4534:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L4527
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L4536
.L4527:
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 2
	test	eax, eax
	je	.L4529
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L4529
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L4530
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 1
	je	.L4538
.L4530:
	cmp	DWORD PTR -36[rbp], 0
	js	.L4532
	lea	rax, .LC521[rip]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L4533
.L4532:
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR -36[rbp], eax
.L4529:
	add	QWORD PTR -24[rbp], 8
	add	DWORD PTR -40[rbp], 1
.L4526:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4534
	jmp	.L4531
.L4538:
	nop
.L4531:
	cmp	DWORD PTR -36[rbp], 0
	js	.L4539
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L4536
.L4539:
	nop
.L4533:
	mov	eax, DWORD PTR -92[rbp]
	and	eax, 1
	test	eax, eax
	je	.L4535
	mov	rdi, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rsi, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	r9, rdi
	mov	r8, rcx
	lea	rcx, .LC69[rip]
	mov	rdi, rax
	call	JimSetFailedEnumResult
.L4535:
	mov	eax, 1
.L4536:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L4537
	call	__stack_chk_fail@PLT
.L4537:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE547:
	.size	Jim_GetEnum, .-Jim_GetEnum
	.globl	Jim_FindByName
	.type	Jim_FindByName, @function
Jim_FindByName:
.LFB548:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L4541
.L4544:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L4542
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L4542
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L4543
.L4542:
	add	DWORD PTR -4[rbp], 1
.L4541:
	mov	rax, QWORD PTR -40[rbp]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L4544
	mov	eax, -1
.L4543:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE548:
	.size	Jim_FindByName, .-Jim_FindByName
	.globl	Jim_IsDict
	.type	Jim_IsDict, @function
Jim_IsDict:
.LFB549:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, dictObjType[rip]
	cmp	rax, rdx
	sete	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE549:
	.size	Jim_IsDict, .-Jim_IsDict
	.globl	Jim_IsList
	.type	Jim_IsList, @function
Jim_IsList:
.LFB550:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, listObjType[rip]
	cmp	rax, rdx
	sete	al
	movzx	eax, al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE550:
	.size	Jim_IsList, .-Jim_IsList
	.section	.rodata
.LC522:
	.string	"%s"
.LC523:
	.string	"%#s"
	.text
	.globl	Jim_SetResultFormatted
	.type	Jim_SetResultFormatted, @function
Jim_SetResultFormatted:
.LFB551:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -312[rbp], rdi
	mov	QWORD PTR -320[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L4550
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L4550:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -320[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -276[rbp], eax
	mov	DWORD PTR -288[rbp], 0
	mov	DWORD PTR -284[rbp], 0
	mov	DWORD PTR -248[rbp], 16
	mov	DWORD PTR -244[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -240[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	DWORD PTR -280[rbp], 0
	jmp	.L4551
.L4562:
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	edx, 2
	lea	rsi, .LC522[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L4552
	mov	eax, DWORD PTR -248[rbp]
	cmp	eax, 47
	ja	.L4553
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, DWORD PTR -248[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -248[rbp]
	add	edx, 8
	mov	DWORD PTR -248[rbp], edx
	jmp	.L4554
.L4553:
	mov	rax, QWORD PTR -240[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -240[rbp], rdx
.L4554:
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	mov	QWORD PTR -224[rbp+rax*8], rdx
	mov	eax, DWORD PTR -284[rbp]
	cdqe
	mov	rax, QWORD PTR -224[rbp+rax*8]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -292[rbp], eax
	jmp	.L4555
.L4552:
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	edx, 3
	lea	rsi, .LC523[rip]
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L4556
	mov	eax, DWORD PTR -248[rbp]
	cmp	eax, 47
	ja	.L4557
	mov	rax, QWORD PTR -232[rbp]
	mov	edx, DWORD PTR -248[rbp]
	mov	edx, edx
	add	rax, rdx
	mov	edx, DWORD PTR -248[rbp]
	add	edx, 8
	mov	DWORD PTR -248[rbp], edx
	jmp	.L4558
.L4557:
	mov	rax, QWORD PTR -240[rbp]
	lea	rdx, 8[rax]
	mov	QWORD PTR -240[rbp], rdx
.L4558:
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -272[rbp], rax
	lea	rdx, -292[rbp]
	mov	rax, QWORD PTR -272[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	edx, DWORD PTR -284[rbp]
	movsx	rdx, edx
	mov	QWORD PTR -224[rbp+rdx*8], rax
	jmp	.L4555
.L4556:
	mov	eax, DWORD PTR -280[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 37
	jne	.L4565
	add	DWORD PTR -280[rbp], 1
	jmp	.L4560
.L4555:
	add	DWORD PTR -284[rbp], 1
	mov	eax, DWORD PTR -292[rbp]
	add	DWORD PTR -288[rbp], eax
	jmp	.L4560
.L4565:
	nop
.L4560:
	add	DWORD PTR -280[rbp], 1
.L4551:
	mov	eax, DWORD PTR -280[rbp]
	cmp	eax, DWORD PTR -276[rbp]
	jge	.L4561
	cmp	DWORD PTR -284[rbp], 4
	jle	.L4562
.L4561:
	mov	eax, DWORD PTR -288[rbp]
	add	DWORD PTR -276[rbp], eax
	mov	eax, DWORD PTR -276[rbp]
	add	eax, 1
	mov	edi, eax
	call	Jim_Alloc
	mov	QWORD PTR -264[rbp], rax
	mov	r8, QWORD PTR -192[rbp]
	mov	rdi, QWORD PTR -200[rbp]
	mov	r9, QWORD PTR -208[rbp]
	mov	r10, QWORD PTR -216[rbp]
	mov	rcx, QWORD PTR -224[rbp]
	mov	eax, DWORD PTR -276[rbp]
	add	eax, 1
	movsx	rsi, eax
	mov	rdx, QWORD PTR -320[rbp]
	mov	rax, QWORD PTR -264[rbp]
	push	r8
	push	rdi
	mov	r8, r10
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	add	rsp, 16
	mov	DWORD PTR -276[rbp], eax
	mov	edx, DWORD PTR -276[rbp]
	mov	rcx, QWORD PTR -264[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObjNoAlloc
	mov	QWORD PTR -256[rbp], rax
	mov	rax, QWORD PTR -256[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -256[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4563
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4563:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdx, QWORD PTR -256[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	mov	rax, QWORD PTR -184[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L4564
	call	__stack_chk_fail@PLT
.L4564:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE551:
	.size	Jim_SetResultFormatted, .-Jim_SetResultFormatted
	.globl	Jim_PackageProvide
	.type	Jim_PackageProvide, @function
Jim_PackageProvide:
.LFB552:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	DWORD PTR -28[rbp], ecx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE552:
	.size	Jim_PackageProvide, .-Jim_PackageProvide
	.type	subcmd_null, @function
subcmd_null:
.LFB553:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE553:
	.size	subcmd_null, .-subcmd_null
	.section	.rodata
.LC524:
	.string	"dummy"
	.section	.data.rel.ro.local
	.align 32
	.type	dummy_subcmd, @object
	.size	dummy_subcmd, 32
dummy_subcmd:
	.quad	.LC524
	.quad	0
	.quad	subcmd_null
	.value	0
	.value	0
	.value	1
	.zero	2
	.text
	.type	add_commands, @function
add_commands:
.LFB554:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	lea	rax, .LC69[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L4571
.L4573:
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	and	eax, 1
	test	eax, eax
	jne	.L4572
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, 0
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -8[rbp], rax
.L4572:
	add	QWORD PTR -32[rbp], 32
.L4571:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4573
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE554:
	.size	add_commands, .-add_commands
	.section	.rodata
.LC525:
	.string	" command \""
.LC526:
	.string	"\": should be "
	.text
	.type	bad_subcmd, @function
bad_subcmd:
.LFB555:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	QWORD PTR -72[rbp], r8
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4575
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4575:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rbx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -40[rbp]
	sub	rsp, 8
	push	0
	lea	rcx, .LC526[rip]
	push	rcx
	push	rbx
	lea	r9, .LC525[rip]
	mov	r8, rdi
	lea	rcx, .LC519[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	add	rsp, 32
	mov	rcx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, .LC519[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	add_commands
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE555:
	.size	bad_subcmd, .-bad_subcmd
	.section	.rodata
	.align 8
.LC527:
	.string	" command ... \", where command is one of: "
.LC528:
	.string	"Usage: \""
	.text
	.type	show_cmd_usage, @function
show_cmd_usage:
.LFB556:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4577
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4577:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, 0
	lea	r8, .LC527[rip]
	mov	rcx, rdx
	lea	rdx, .LC528[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC519[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	add_commands
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE556:
	.size	show_cmd_usage, .-show_cmd_usage
	.type	add_cmd_usage, @function
add_cmd_usage:
.LFB557:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -24[rbp], 0
	je	.L4579
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	lea	rcx, .LC339[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
.L4579:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, 0
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L4581
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4581
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 0
	mov	rcx, rdx
	lea	rdx, .LC339[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
.L4581:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE557:
	.size	add_cmd_usage, .-add_cmd_usage
	.section	.rodata
.LC529:
	.string	"wrong # args: should be \""
.LC530:
	.string	"\""
	.text
	.type	set_wrong_args, @function
set_wrong_args:
.LFB558:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, -1
	lea	rsi, .LC529[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4583
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4583:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	add_cmd_usage
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 0
	lea	rdx, .LC530[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE558:
	.size	set_wrong_args, .-set_wrong_args
	.section	.rodata
.LC531:
	.string	" command ...\"\n"
.LC532:
	.string	" -help ?command?\" for help"
.LC533:
	.string	"Use \""
.LC534:
	.string	"-help"
.LC535:
	.string	"-commands"
.LC536:
	.string	"ambiguous"
.LC537:
	.string	"Usage: "
	.text
	.globl	Jim_ParseSubCmd
	.type	Jim_ParseSubCmd, @function
Jim_ParseSubCmd:
.LFB559:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	DWORD PTR -116[rbp], edx
	mov	QWORD PTR -128[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -72[rbp], 0
	mov	DWORD PTR -84[rbp], 0
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	QWORD PTR -56[rbp], rax
	cmp	DWORD PTR -116[rbp], 1
	jg	.L4585
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4586
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4586:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r9d, 0
	lea	r8, .LC531[rip]
	mov	rcx, rdx
	lea	rdx, .LC529[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r9d, 0
	lea	r8, .LC532[rip]
	mov	rcx, rdx
	lea	rdx, .LC533[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	eax, 0
	jmp	.L4607
.L4585:
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC534[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L4588
	cmp	DWORD PTR -116[rbp], 2
	jne	.L4589
	mov	rcx, QWORD PTR -128[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	show_cmd_usage
	lea	rax, dummy_subcmd[rip]
	jmp	.L4607
.L4589:
	mov	DWORD PTR -84[rbp], 1
	mov	rax, QWORD PTR -128[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -64[rbp], rax
.L4588:
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC535[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	je	.L4590
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4591
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4591:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rcx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	lea	rdx, .LC339[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	add_commands
	lea	rax, dummy_subcmd[rip]
	jmp	.L4607
.L4590:
	lea	rdx, -88[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L4592
.L4598:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_CompareStringImmediate
	test	eax, eax
	jne	.L4609
	mov	eax, DWORD PTR -88[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L4595
	cmp	QWORD PTR -72[rbp], 0
	je	.L4596
	cmp	DWORD PTR -84[rbp], 0
	je	.L4597
	mov	rcx, QWORD PTR -128[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	show_cmd_usage
	lea	rax, dummy_subcmd[rip]
	jmp	.L4607
.L4597:
	mov	eax, DWORD PTR -84[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC536[rip]
	mov	rdi, rax
	call	bad_subcmd
	mov	eax, 0
	jmp	.L4607
.L4596:
	mov	rax, QWORD PTR -80[rbp]
	mov	QWORD PTR -72[rbp], rax
.L4595:
	add	QWORD PTR -80[rbp], 32
.L4592:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4598
	jmp	.L4594
.L4609:
	nop
.L4594:
	cmp	QWORD PTR -72[rbp], 0
	je	.L4599
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4599
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -80[rbp], rax
.L4599:
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L4600
	cmp	DWORD PTR -84[rbp], 0
	je	.L4601
	mov	rcx, QWORD PTR -128[rbp]
	mov	edx, DWORD PTR -116[rbp]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	show_cmd_usage
	lea	rax, dummy_subcmd[rip]
	jmp	.L4607
.L4601:
	mov	eax, DWORD PTR -84[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rsi, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	lea	rdx, .LC79[rip]
	mov	rdi, rax
	call	bad_subcmd
	mov	eax, 0
	jmp	.L4607
.L4600:
	cmp	DWORD PTR -84[rbp], 0
	je	.L4602
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, -1
	lea	rsi, .LC537[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4603
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4603:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	add_cmd_usage
	lea	rax, dummy_subcmd[rip]
	jmp	.L4607
.L4602:
	mov	eax, DWORD PTR -116[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, WORD PTR 24[rax]
	cwde
	cmp	edx, eax
	jle	.L4604
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, WORD PTR 26[rax]
	test	ax, ax
	js	.L4605
	mov	eax, DWORD PTR -116[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -80[rbp]
	movzx	eax, WORD PTR 26[rax]
	cwde
	cmp	edx, eax
	jle	.L4605
.L4604:
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, -1
	lea	rsi, .LC529[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4606
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4606:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	add_cmd_usage
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	ecx, 0
	lea	rdx, .LC530[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_AppendStrings
	mov	eax, 0
	jmp	.L4607
.L4605:
	mov	rax, QWORD PTR -80[rbp]
.L4607:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L4608
	call	__stack_chk_fail@PLT
.L4608:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE559:
	.size	Jim_ParseSubCmd, .-Jim_ParseSubCmd
	.globl	Jim_CallSubCmd
	.type	Jim_CallSubCmd, @function
Jim_CallSubCmd:
.LFB560:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	DWORD PTR -4[rbp], 1
	cmp	QWORD PTR -32[rbp], 0
	je	.L4611
	mov	rax, QWORD PTR -32[rbp]
	movzx	eax, WORD PTR 28[rax]
	movzx	eax, ax
	and	eax, 2
	test	eax, eax
	je	.L4612
	mov	rax, QWORD PTR -32[rbp]
	mov	r8, QWORD PTR 16[rax]
	mov	rdx, QWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -4[rbp], eax
	jmp	.L4613
.L4612:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	esi, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -4[rbp], eax
.L4613:
	cmp	DWORD PTR -4[rbp], 0
	jns	.L4611
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	set_wrong_args
	mov	DWORD PTR -4[rbp], 1
.L4611:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE560:
	.size	Jim_CallSubCmd, .-Jim_CallSubCmd
	.globl	Jim_SubCmdProc
	.type	Jim_SubCmdProc, @function
Jim_SubCmdProc:
.LFB561:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR 336[rax]
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_ParseSubCmd
	mov	QWORD PTR -8[rbp], rax
	mov	rcx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	Jim_CallSubCmd
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE561:
	.size	Jim_SubCmdProc, .-Jim_SubCmdProc
	.globl	utf8_fromunicode
	.type	utf8_fromunicode, @function
utf8_fromunicode:
.LFB562:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	cmp	DWORD PTR -12[rbp], 127
	ja	.L4618
	mov	eax, DWORD PTR -12[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, 1
	jmp	.L4619
.L4618:
	cmp	DWORD PTR -12[rbp], 2047
	ja	.L4620
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 6
	and	eax, 31
	or	eax, -64
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, 2
	jmp	.L4619
.L4620:
	cmp	DWORD PTR -12[rbp], 65535
	ja	.L4621
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 12
	and	eax, 15
	or	eax, -32
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, 3
	jmp	.L4619
.L4621:
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 18
	and	eax, 7
	or	eax, -16
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 12
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 6
	and	eax, 63
	or	eax, -128
	mov	ecx, eax
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -12[rbp]
	and	eax, 63
	or	eax, -128
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], dl
	mov	eax, 4
.L4619:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE562:
	.size	utf8_fromunicode, .-utf8_fromunicode
	.section	.rodata
	.align 8
.LC538:
	.string	"format string ended in middle of field specifier"
.LC539:
	.string	"%ld"
.LC540:
	.string	".%ld"
.LC541:
	.string	"bad field specifier \"%s\""
	.text
	.globl	Jim_FormatString
	.type	Jim_FormatString, @function
Jim_FormatString:
.LFB563:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -296[rbp], rdi
	mov	QWORD PTR -304[rbp], rsi
	mov	DWORD PTR -308[rbp], edx
	mov	QWORD PTR -320[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -264[rbp], 0
	mov	DWORD PTR -260[rbp], 0
	mov	DWORD PTR -256[rbp], 0
	mov	DWORD PTR -252[rbp], 0
	mov	QWORD PTR -128[rbp], 0
	mov	DWORD PTR -248[rbp], 0
	lea	rdx, -276[rbp]
	mov	rax, QWORD PTR -304[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	eax, DWORD PTR -276[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -96[rbp], rax
	jmp	.L4623
.L4697:
	mov	BYTE PTR -277[rbp], 32
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 37
	je	.L4624
	mov	eax, DWORD PTR -224[rbp]
	add	DWORD PTR -264[rbp], eax
	jmp	.L4623
.L4624:
	cmp	DWORD PTR -264[rbp], 0
	je	.L4626
	mov	ecx, DWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	mov	DWORD PTR -264[rbp], 0
.L4626:
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 37
	jne	.L4627
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	eax, DWORD PTR -224[rbp]
	mov	DWORD PTR -264[rbp], eax
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	jmp	.L4623
.L4627:
	mov	DWORD PTR -228[rbp], 0
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L4628
	lea	rcx, -192[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	DWORD PTR -200[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 36
	jne	.L4628
	mov	DWORD PTR -228[rbp], 1
	mov	eax, DWORD PTR -200[rbp]
	sub	eax, 1
	mov	DWORD PTR -260[rbp], eax
	mov	rax, QWORD PTR -192[rbp]
	add	rax, 1
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
.L4628:
	cmp	DWORD PTR -228[rbp], 0
	je	.L4629
	cmp	DWORD PTR -252[rbp], 0
	je	.L4630
	mov	rax, QWORD PTR mixedXPG.3[rip]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L4695
.L4630:
	mov	DWORD PTR -256[rbp], 1
	jmp	.L4632
.L4629:
	cmp	DWORD PTR -256[rbp], 0
	je	.L4633
	mov	rax, QWORD PTR mixedXPG.3[rip]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L4695
.L4633:
	mov	DWORD PTR -252[rbp], 1
.L4632:
	cmp	DWORD PTR -260[rbp], 0
	js	.L4634
	mov	eax, DWORD PTR -260[rbp]
	cmp	eax, DWORD PTR -308[rbp]
	jl	.L4635
.L4634:
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, badIndex.2[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L4695
.L4635:
	lea	rax, -80[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	mov	BYTE PTR [rax], 37
	mov	DWORD PTR -244[rbp], 0
	mov	DWORD PTR -240[rbp], 1
.L4643:
	mov	eax, DWORD PTR -272[rbp]
	sub	eax, 32
	cmp	eax, 16
	ja	.L4636
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4638[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4638[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4638:
	.long	.L4704-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4704-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4704-.L4638
	.long	.L4636-.L4638
	.long	.L4639-.L4638
	.long	.L4636-.L4638
	.long	.L4636-.L4638
	.long	.L4637-.L4638
	.text
.L4639:
	mov	DWORD PTR -244[rbp], 1
	jmp	.L4641
.L4637:
	mov	eax, DWORD PTR -272[rbp]
	mov	BYTE PTR -277[rbp], al
	jmp	.L4641
.L4636:
	mov	DWORD PTR -240[rbp], 0
	jmp	.L4642
.L4704:
	nop
.L4641:
	mov	ecx, DWORD PTR -272[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
.L4642:
	cmp	DWORD PTR -240[rbp], 0
	jne	.L4643
	mov	QWORD PTR -184[rbp], 0
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L4644
	lea	rcx, -192[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	QWORD PTR -184[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
	jmp	.L4645
.L4644:
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 42
	jne	.L4645
	mov	eax, DWORD PTR -308[rbp]
	sub	eax, 1
	cmp	DWORD PTR -260[rbp], eax
	jl	.L4646
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, badIndex.2[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L4695
.L4646:
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -184[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L4705
	mov	rax, QWORD PTR -184[rbp]
	test	rax, rax
	jns	.L4649
	mov	rax, QWORD PTR -184[rbp]
	neg	rax
	mov	QWORD PTR -184[rbp], rax
	cmp	DWORD PTR -244[rbp], 0
	jne	.L4649
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	mov	BYTE PTR [rax], 45
	mov	DWORD PTR -244[rbp], 1
.L4649:
	add	DWORD PTR -260[rbp], 1
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
.L4645:
	mov	QWORD PTR -176[rbp], 0
	mov	DWORD PTR -236[rbp], 0
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 46
	jne	.L4650
	mov	DWORD PTR -236[rbp], 1
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
.L4650:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 2048
	test	eax, eax
	je	.L4651
	lea	rcx, -192[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtoul@PLT
	mov	QWORD PTR -176[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
	jmp	.L4652
.L4651:
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 42
	jne	.L4652
	mov	eax, DWORD PTR -308[rbp]
	sub	eax, 1
	cmp	DWORD PTR -260[rbp], eax
	jl	.L4653
	mov	eax, DWORD PTR -256[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, badIndex.2[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L4695
.L4653:
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -176[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetLong
	test	eax, eax
	jne	.L4706
	mov	rax, QWORD PTR -176[rbp]
	test	rax, rax
	jns	.L4655
	mov	QWORD PTR -176[rbp], 0
.L4655:
	add	DWORD PTR -260[rbp], 1
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
.L4652:
	mov	DWORD PTR -232[rbp], 0
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 104
	jne	.L4656
	mov	DWORD PTR -232[rbp], 1
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
	jmp	.L4657
.L4656:
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 108
	jne	.L4657
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 108
	jne	.L4657
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -272[rbp], eax
	mov	DWORD PTR -224[rbp], 1
.L4657:
	mov	eax, DWORD PTR -224[rbp]
	cdqe
	add	QWORD PTR -144[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	QWORD PTR -152[rbp], rax
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 105
	jne	.L4658
	mov	DWORD PTR -272[rbp], 100
.L4658:
	mov	DWORD PTR -220[rbp], 0
	mov	eax, DWORD PTR -272[rbp]
	test	eax, eax
	je	.L4659
	test	eax, eax
	js	.L4660
	cmp	eax, 120
	jg	.L4660
	cmp	eax, 69
	jl	.L4660
	sub	eax, 69
	cmp	eax, 51
	ja	.L4660
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4662[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4662[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4662:
	.long	.L4664-.L4662
	.long	.L4660-.L4662
	.long	.L4664-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4661-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4666-.L4662
	.long	.L4665-.L4662
	.long	.L4661-.L4662
	.long	.L4664-.L4662
	.long	.L4664-.L4662
	.long	.L4664-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4661-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4663-.L4662
	.long	.L4660-.L4662
	.long	.L4661-.L4662
	.long	.L4660-.L4662
	.long	.L4660-.L4662
	.long	.L4661-.L4662
	.text
.L4659:
	lea	rax, .LC538[rip]
	mov	QWORD PTR -136[rbp], rax
	jmp	.L4695
.L4663:
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -268[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -112[rbp], rax
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Utf8Length
	mov	DWORD PTR -216[rbp], eax
	cmp	DWORD PTR -236[rbp], 0
	je	.L4707
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -176[rbp]
	cmp	rdx, rax
	jle	.L4707
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -176[rbp]
	mov	DWORD PTR -268[rbp], eax
	jmp	.L4707
.L4665:
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4669
	nop
	jmp	.L4705
.L4669:
	mov	rax, QWORD PTR -160[rbp]
	mov	BYTE PTR -80[rbp], al
	mov	DWORD PTR -268[rbp], 1
	lea	rax, -80[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	DWORD PTR -216[rbp], 1
	jmp	.L4668
.L4666:
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	je	.L4670
	nop
	jmp	.L4705
.L4670:
	mov	DWORD PTR -196[rbp], 64
	mov	eax, DWORD PTR -196[rbp]
	cmp	eax, DWORD PTR -248[rbp]
	jl	.L4671
	mov	eax, DWORD PTR -196[rbp]
	add	eax, 1
	mov	DWORD PTR -248[rbp], eax
	mov	edx, DWORD PTR -248[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	QWORD PTR -128[rbp], rax
.L4671:
	mov	DWORD PTR -208[rbp], 0
	mov	eax, DWORD PTR -196[rbp]
	mov	DWORD PTR -212[rbp], eax
	jmp	.L4672
.L4675:
	sub	DWORD PTR -212[rbp], 1
	mov	rdx, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -212[rbp]
	mov	ecx, eax
	shr	rdx, cl
	mov	rax, rdx
	and	eax, 1
	test	rax, rax
	je	.L4673
	mov	eax, DWORD PTR -208[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -208[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 49
	jmp	.L4672
.L4673:
	cmp	DWORD PTR -208[rbp], 0
	jne	.L4674
	cmp	DWORD PTR -212[rbp], 0
	jne	.L4672
.L4674:
	mov	eax, DWORD PTR -208[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -208[rbp], edx
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 48
.L4672:
	cmp	DWORD PTR -212[rbp], 0
	jg	.L4675
	mov	eax, DWORD PTR -208[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -208[rbp]
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -268[rbp]
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -112[rbp], rax
	jmp	.L4668
.L4664:
	mov	DWORD PTR -220[rbp], 1
.L4661:
	mov	rax, QWORD PTR -184[rbp]
	test	rax, rax
	je	.L4676
	mov	rdx, QWORD PTR -184[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC539[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	cdqe
	add	QWORD PTR -120[rbp], rax
.L4676:
	cmp	DWORD PTR -236[rbp], 0
	je	.L4677
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rsi, .LC540[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	cdqe
	add	QWORD PTR -120[rbp], rax
.L4677:
	cmp	DWORD PTR -220[rbp], 0
	je	.L4678
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetDouble
	test	eax, eax
	jne	.L4708
	mov	DWORD PTR -204[rbp], 320
	jmp	.L4681
.L4678:
	mov	eax, DWORD PTR -260[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	lea	rdx, -168[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_GetWide
	test	eax, eax
	jne	.L4709
	mov	DWORD PTR -204[rbp], 24
	cmp	DWORD PTR -232[rbp], 0
	je	.L4683
	mov	eax, DWORD PTR -272[rbp]
	cmp	eax, 100
	jne	.L4684
	mov	rax, QWORD PTR -168[rbp]
	movsx	rax, ax
	mov	QWORD PTR -168[rbp], rax
	jmp	.L4683
.L4684:
	mov	rax, QWORD PTR -168[rbp]
	movzx	eax, ax
	mov	QWORD PTR -168[rbp], rax
.L4683:
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	mov	BYTE PTR [rax], 108
.L4681:
	mov	ecx, DWORD PTR -272[rbp]
	mov	rax, QWORD PTR -120[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -120[rbp], rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -120[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -204[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	cmp	rdx, rax
	jge	.L4685
	mov	rax, QWORD PTR -184[rbp]
	mov	DWORD PTR -204[rbp], eax
.L4685:
	cmp	DWORD PTR -236[rbp], 0
	je	.L4686
	mov	rax, QWORD PTR -176[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -204[rbp]
	add	eax, edx
	mov	DWORD PTR -204[rbp], eax
.L4686:
	mov	eax, DWORD PTR -204[rbp]
	cmp	eax, DWORD PTR -248[rbp]
	jl	.L4687
	mov	eax, DWORD PTR -204[rbp]
	add	eax, 1
	mov	DWORD PTR -248[rbp], eax
	mov	edx, DWORD PTR -248[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	Jim_Realloc
	mov	QWORD PTR -128[rbp], rax
.L4687:
	cmp	DWORD PTR -220[rbp], 0
	je	.L4688
	mov	rsi, QWORD PTR -160[rbp]
	mov	eax, DWORD PTR -204[rbp]
	add	eax, 1
	movsx	rcx, eax
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -128[rbp]
	movq	xmm0, rsi
	mov	rsi, rcx
	mov	rdi, rax
	mov	eax, 1
	call	snprintf@PLT
	jmp	.L4689
.L4688:
	mov	rcx, QWORD PTR -168[rbp]
	mov	eax, DWORD PTR -204[rbp]
	add	eax, 1
	movsx	rsi, eax
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	mov	DWORD PTR -268[rbp], eax
.L4689:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -268[rbp]
	mov	DWORD PTR -216[rbp], eax
	mov	rax, QWORD PTR -128[rbp]
	mov	QWORD PTR -112[rbp], rax
	jmp	.L4668
.L4709:
	nop
	jmp	.L4705
.L4660:
	mov	eax, DWORD PTR -272[rbp]
	mov	BYTE PTR -80[rbp], al
	mov	BYTE PTR -79[rbp], 0
	lea	rdx, -80[rbp]
	mov	rax, QWORD PTR -296[rbp]
	lea	rsi, .LC541[rip]
	mov	rdi, rax
	mov	eax, 0
	call	Jim_SetResultFormatted
	jmp	.L4696
.L4707:
	nop
.L4668:
	cmp	DWORD PTR -244[rbp], 0
	jne	.L4690
	jmp	.L4691
.L4692:
	lea	rdx, -277[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_AppendString
	add	DWORD PTR -216[rbp], 1
.L4691:
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	cmp	rdx, rax
	jl	.L4692
.L4690:
	mov	ecx, DWORD PTR -268[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	Jim_AppendString
	jmp	.L4693
.L4694:
	lea	rdx, -277[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	ecx, 1
	mov	rdi, rax
	call	Jim_AppendString
	add	DWORD PTR -216[rbp], 1
.L4693:
	mov	eax, DWORD PTR -216[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -184[rbp]
	cmp	rdx, rax
	jl	.L4694
	mov	eax, DWORD PTR -252[rbp]
	add	DWORD PTR -260[rbp], eax
.L4623:
	mov	rax, QWORD PTR -144[rbp]
	cmp	rax, QWORD PTR -104[rbp]
	jne	.L4697
	cmp	DWORD PTR -264[rbp], 0
	je	.L4698
	mov	ecx, DWORD PTR -264[rbp]
	mov	rdx, QWORD PTR -152[rbp]
	mov	rsi, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	Jim_AppendString
.L4698:
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	rax, QWORD PTR -96[rbp]
	jmp	.L4701
.L4695:
	mov	rcx, QWORD PTR -136[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR 16[rax]
	sub	edx, 1
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L4700
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L4700:
	mov	rax, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR -88[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L4696
.L4705:
	nop
	jmp	.L4696
.L4706:
	nop
	jmp	.L4696
.L4708:
	nop
.L4696:
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -296[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, 0
.L4701:
	mov	rdi, QWORD PTR -8[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L4702
	call	__stack_chk_fail@PLT
.L4702:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE563:
	.size	Jim_FormatString, .-Jim_FormatString
	.type	str_int_len, @function
str_int_len:
.LFB564:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L4711
.L4712:
	add	DWORD PTR -4[rbp], 1
.L4711:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L4712
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE564:
	.size	str_int_len, .-str_int_len
	.globl	regcomp
	.type	regcomp, @function
regcomp:
.LFB565:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	DWORD PTR -68[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, 104
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	QWORD PTR -64[rbp], 0
	jne	.L4715
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 3
	mov	eax, 3
	jmp	.L4726
.L4715:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -68[rbp]
	mov	DWORD PTR 4[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 1
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 52[rax]
	cdqe
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 32[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	jne	.L4717
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 6
	mov	eax, 6
	jmp	.L4726
.L4717:
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, -86061043
	mov	rdi, rax
	call	regc
	lea	rdx, -44[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	reg
	test	eax, eax
	jne	.L4718
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 8[rax]
	jmp	.L4726
.L4718:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 99
	jle	.L4719
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 5
	mov	eax, 5
	jmp	.L4726
.L4719:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 20[rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], 0
	mov	DWORD PTR -40[rbp], 1
	mov	rax, QWORD PTR -56[rbp]
	mov	rbx, QWORD PTR 32[rax]
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	cdqe
	sal	rax, 2
	add	rax, rbx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L4720
	add	DWORD PTR -40[rbp], 2
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	jne	.L4721
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 2
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 12[rax], edx
	jmp	.L4722
.L4721:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L4722
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
.L4722:
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 4
	test	eax, eax
	je	.L4720
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	jmp	.L4723
.L4725:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	jne	.L4724
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rax, 2
	sal	rax, 2
	add	rax, rdx
	mov	rdi, rax
	call	str_int_len
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	cmp	DWORD PTR -32[rbp], eax
	ja	.L4724
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 2
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
.L4724:
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	DWORD PTR -40[rbp], eax
.L4723:
	cmp	DWORD PTR -40[rbp], 0
	jne	.L4725
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 24[rax], edx
.L4720:
	mov	eax, 0
.L4726:
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4727
	call	__stack_chk_fail@PLT
.L4727:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE565:
	.size	regcomp, .-regcomp
	.type	reg, @function
reg:
.LFB566:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], 1
	cmp	DWORD PTR -44[rbp], 0
	je	.L4729
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L4730
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L4730
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 2[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	DWORD PTR -16[rbp], -1
	jmp	.L4731
.L4730:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -16[rbp], eax
.L4731:
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 1001[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -24[rbp], eax
	jmp	.L4732
.L4729:
	mov	DWORD PTR -24[rbp], 0
.L4732:
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regbranch
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L4733
	mov	eax, 0
	jmp	.L4749
.L4733:
	cmp	DWORD PTR -24[rbp], 0
	je	.L4735
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
	jmp	.L4736
.L4735:
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -24[rbp], eax
.L4736:
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L4737
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
.L4737:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 4
	or	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4738
.L4741:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 40[rax], rdx
	lea	rdx, -28[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regbranch
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	jne	.L4739
	mov	eax, 0
	jmp	.L4749
.L4739:
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L4740
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	and	eax, -2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
.L4740:
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 4
	or	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
.L4738:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	je	.L4741
	cmp	DWORD PTR -44[rbp], 0
	je	.L4742
	mov	eax, DWORD PTR -16[rbp]
	lea	edx, 2001[rax]
	jmp	.L4743
.L4742:
	mov	edx, 0
.L4743:
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -20[rbp], eax
	jmp	.L4744
.L4745:
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regoptail
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	DWORD PTR -20[rbp], eax
.L4744:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L4745
	cmp	DWORD PTR -44[rbp], 0
	je	.L4746
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 40[rdx], rcx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	je	.L4746
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 8
	mov	eax, 0
	jmp	.L4749
.L4746:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L4747
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4747
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	jne	.L4748
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 8
	mov	eax, 0
	jmp	.L4749
.L4748:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 11
	mov	eax, 0
	jmp	.L4749
.L4747:
	mov	eax, DWORD PTR -24[rbp]
.L4749:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4750
	call	__stack_chk_fail@PLT
.L4750:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE566:
	.size	reg, .-reg
	.type	regbranch, @function
regbranch:
.LFB567:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 6
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -16[rbp], eax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L4752
.L4758:
	lea	rdx, -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regpiece
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jne	.L4753
	mov	eax, 0
	jmp	.L4760
.L4753:
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 1
	or	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR -20[rbp], 0
	jne	.L4755
	mov	rax, QWORD PTR -48[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	and	eax, 4
	or	edx, eax
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4756
.L4755:
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
.L4756:
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -20[rbp], eax
.L4752:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4757
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 41
	je	.L4757
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 124
	jne	.L4758
.L4757:
	cmp	DWORD PTR -20[rbp], 0
	jne	.L4759
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 9
	mov	rdi, rax
	call	regnode
.L4759:
	mov	eax, DWORD PTR -16[rbp]
.L4760:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4761
	call	__stack_chk_fail@PLT
.L4761:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE567:
	.size	regbranch, .-regbranch
	.type	regpiece, @function
regpiece:
.LFB568:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdx, -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regatom
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jne	.L4763
	mov	eax, 0
	jmp	.L4790
.L4763:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -41[rbp], al
	cmp	BYTE PTR -41[rbp], 42
	je	.L4765
	cmp	BYTE PTR -41[rbp], 43
	je	.L4765
	cmp	BYTE PTR -41[rbp], 63
	je	.L4765
	cmp	BYTE PTR -41[rbp], 123
	je	.L4765
	mov	edx, DWORD PTR -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -24[rbp]
	jmp	.L4790
.L4765:
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L4766
	cmp	BYTE PTR -41[rbp], 63
	je	.L4766
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 12
	mov	eax, 0
	jmp	.L4790
.L4766:
	cmp	BYTE PTR -41[rbp], 123
	jne	.L4767
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rcx, 1[rax]
	lea	rax, -16[rbp]
	mov	edx, 10
	mov	rsi, rax
	mov	rdi, rcx
	call	strtoul@PLT
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	cmp	rdx, rax
	jne	.L4768
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 10
	mov	eax, 0
	jmp	.L4790
.L4768:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L4770
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	jmp	.L4771
.L4770:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rcx, 1[rax]
	lea	rax, -16[rbp]
	mov	edx, 10
	mov	rsi, rax
	mov	rdi, rcx
	call	strtoul@PLT
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	je	.L4771
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 9
	mov	eax, 0
	jmp	.L4790
.L4771:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -16[rbp]
	cmp	rdx, rax
	jne	.L4772
	mov	DWORD PTR -28[rbp], 1000000
	jmp	.L4773
.L4772:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -32[rbp]
	jl	.L4774
	cmp	DWORD PTR -28[rbp], 99
	jle	.L4773
.L4774:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 10
	mov	eax, 0
	jmp	.L4790
.L4773:
	cmp	DWORD PTR -32[rbp], 99
	jle	.L4775
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 10
	mov	eax, 0
	jmp	.L4790
.L4775:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	esi, 125
	mov	rdi, rax
	call	strchr@PLT
	mov	rdx, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rdx], rax
	jmp	.L4776
.L4767:
	cmp	BYTE PTR -41[rbp], 43
	sete	al
	movzx	eax, al
	mov	DWORD PTR -32[rbp], eax
	cmp	BYTE PTR -41[rbp], 63
	jne	.L4777
	mov	eax, 1
	jmp	.L4778
.L4777:
	mov	eax, 1000000
.L4778:
	mov	DWORD PTR -28[rbp], eax
.L4776:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L4779
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 2
	test	eax, eax
	je	.L4780
	mov	esi, 11
	jmp	.L4781
.L4780:
	mov	esi, 13
.L4781:
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, edx
	mov	edx, 5
	mov	rdi, rax
	call	reginsert
	mov	DWORD PTR -36[rbp], eax
	jmp	.L4782
.L4779:
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 2
	test	eax, eax
	je	.L4783
	mov	esi, 10
	jmp	.L4784
.L4783:
	mov	esi, 12
.L4784:
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	ecx, edx
	mov	edx, 5
	mov	rdi, rax
	call	reginsert
	mov	DWORD PTR -36[rbp], eax
.L4782:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 2
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 3
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 4
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 0
	cmp	DWORD PTR -32[rbp], 0
	je	.L4785
	mov	edx, 1
	jmp	.L4786
.L4785:
	mov	edx, 4
.L4786:
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -40[rbp]
	and	eax, 2
	test	eax, eax
	jne	.L4787
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 7
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -24[rbp]
	mov	ecx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
	mov	edx, DWORD PTR -20[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
.L4787:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L4788
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L4788
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	je	.L4788
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L4789
.L4788:
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 8[rax], 13
	mov	eax, 0
	jmp	.L4790
.L4789:
	mov	eax, DWORD PTR -24[rbp]
.L4790:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4791
	call	__stack_chk_fail@PLT
.L4791:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE568:
	.size	regpiece, .-regpiece
	.type	reg_addrange, @function
reg_addrange:
.LFB569:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -16[rbp]
	jle	.L4793
	mov	edx, DWORD PTR -12[rbp]
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	reg_addrange
.L4793:
	mov	eax, DWORD PTR -16[rbp]
	sub	eax, DWORD PTR -12[rbp]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regc
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regc
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE569:
	.size	reg_addrange, .-reg_addrange
	.type	reg_addrange_str, @function
reg_addrange_str:
.LFB570:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	jmp	.L4795
.L4796:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	reg_addrange
	add	QWORD PTR -16[rbp], 1
.L4795:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L4796
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE570:
	.size	reg_addrange_str, .-reg_addrange_str
	.type	reg_utf8_tounicode_case, @function
reg_utf8_tounicode_case:
.LFB571:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR -4[rbp], 1
	cmp	DWORD PTR -36[rbp], 0
	je	.L4798
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	toupper@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	DWORD PTR [rdx], eax
.L4798:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE571:
	.size	reg_utf8_tounicode_case, .-reg_utf8_tounicode_case
	.type	hexdigitval, @function
hexdigitval:
.LFB572:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 47
	jle	.L4801
	cmp	DWORD PTR -4[rbp], 57
	jg	.L4801
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 48
	jmp	.L4802
.L4801:
	cmp	DWORD PTR -4[rbp], 96
	jle	.L4803
	cmp	DWORD PTR -4[rbp], 102
	jg	.L4803
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 87
	jmp	.L4802
.L4803:
	cmp	DWORD PTR -4[rbp], 64
	jle	.L4804
	cmp	DWORD PTR -4[rbp], 70
	jg	.L4804
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 55
	jmp	.L4802
.L4804:
	mov	eax, -1
.L4802:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE572:
	.size	hexdigitval, .-hexdigitval
	.type	parse_hex, @function
parse_hex:
.LFB573:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 40
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -8[rbp], 0
	jmp	.L4806
.L4809:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	edi, eax
	call	hexdigitval
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	je	.L4812
	mov	eax, DWORD PTR -12[rbp]
	sal	eax, 4
	or	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -12[rbp], eax
	add	DWORD PTR -8[rbp], 1
.L4806:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L4809
	jmp	.L4808
.L4812:
	nop
.L4808:
	cmp	DWORD PTR -8[rbp], 0
	je	.L4810
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -12[rbp]
	mov	DWORD PTR [rax], edx
.L4810:
	mov	eax, DWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE573:
	.size	parse_hex, .-parse_hex
	.type	reg_decode_escape, @function
reg_decode_escape:
.LFB574:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	je	.L4814
	test	eax, eax
	js	.L4815
	cmp	eax, 120
	jg	.L4815
	cmp	eax, 85
	jl	.L4815
	sub	eax, 85
	cmp	eax, 35
	ja	.L4815
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4817[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4817[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4817:
	.long	.L4826-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4825-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4824-.L4817
	.long	.L4823-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4822-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4815-.L4817
	.long	.L4821-.L4817
	.long	.L4815-.L4817
	.long	.L4820-.L4817
	.long	.L4819-.L4817
	.long	.L4818-.L4817
	.long	.L4815-.L4817
	.long	.L4816-.L4817
	.text
.L4825:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 8
	jmp	.L4815
.L4824:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 27
	jmp	.L4815
.L4823:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 12
	jmp	.L4815
.L4822:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 10
	jmp	.L4815
.L4821:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 13
	jmp	.L4815
.L4820:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 9
	jmp	.L4815
.L4818:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 11
	jmp	.L4815
.L4819:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L4827
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	esi, 6
	mov	rdi, rcx
	call	parse_hex
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jle	.L4828
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 125
	jne	.L4828
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	js	.L4828
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2097151
	jg	.L4828
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 2
	add	QWORD PTR -24[rbp], rax
	jmp	.L4834
.L4828:
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 117
	jmp	.L4834
.L4827:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	parse_hex
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jle	.L4834
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	jmp	.L4834
.L4826:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	parse_hex
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jle	.L4835
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	jmp	.L4835
.L4816:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	parse_hex
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	jle	.L4836
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
	jmp	.L4836
.L4814:
	sub	QWORD PTR -24[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], 92
	jmp	.L4815
.L4834:
	nop
	jmp	.L4815
.L4835:
	nop
	jmp	.L4815
.L4836:
	nop
.L4815:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE574:
	.size	reg_decode_escape, .-reg_decode_escape
	.section	.rodata
.LC542:
	.string	" \t\r\n\f\013"
.LC543:
	.string	" \t"
.LC544:
	.string	"<>mMwWdDsSAZ"
.LC545:
	.string	"^$.[()|?{+*"
	.text
	.type	regatom, @function
regatom:
.LFB575:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	edx, DWORD PTR -24[rbp]
	lea	rcx, -52[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 63
	jg	.L4838
	test	eax, eax
	jns	.L4839
	jmp	.L4840
.L4851:
	sub	eax, 91
	cmp	eax, 33
	ja	.L4840
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4842[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4842[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4842:
	.long	.L4846-.L4842
	.long	.L4845-.L4842
	.long	.L4840-.L4842
	.long	.L4844-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4840-.L4842
	.long	.L4843-.L4842
	.long	.L4841-.L4842
	.text
.L4839:
	cmp	eax, 63
	ja	.L4840
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4847[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4847[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4847:
	.long	.L4841-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4850-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4849-.L4847
	.long	.L4841-.L4847
	.long	.L4843-.L4847
	.long	.L4843-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4848-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4840-.L4847
	.long	.L4843-.L4847
	.text
.L4838:
	cmp	eax, 124
	jg	.L4840
	cmp	eax, 91
	jge	.L4851
	jmp	.L4840
.L4844:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4852
.L4850:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4852
.L4848:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 3
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4852
.L4846:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 94
	jne	.L4853
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 5
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	add	QWORD PTR -16[rbp], 1
	jmp	.L4854
.L4853:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
.L4854:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L4855
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L4857
.L4855:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	reg_addrange
	add	QWORD PTR -16[rbp], 1
	jmp	.L4857
.L4885:
	mov	edx, DWORD PTR -24[rbp]
	lea	rcx, -48[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	cdqe
	add	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 92
	jne	.L4858
	lea	rdx, -48[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reg_decode_escape
	cdqe
	add	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	test	eax, eax
	jne	.L4858
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], 18
	mov	eax, 0
	jmp	.L4916
.L4858:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 45
	jne	.L4860
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4860
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	je	.L4860
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -44[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -24[rbp]
	lea	rcx, -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	cdqe
	add	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 92
	jne	.L4861
	lea	rdx, -44[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	reg_decode_escape
	cdqe
	add	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	test	eax, eax
	jne	.L4861
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], 18
	mov	eax, 0
	jmp	.L4916
.L4861:
	mov	edx, DWORD PTR -44[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4857
.L4860:
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, 91
	jne	.L4863
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 58
	jne	.L4863
	mov	DWORD PTR -32[rbp], 0
	jmp	.L4864
.L4867:
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, character_class.1[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, character_class.1[rip]
	mov	rcx, QWORD PTR [rcx+rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncmp@PLT
	test	eax, eax
	jne	.L4865
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 1
	add	QWORD PTR -16[rbp], rax
	jmp	.L4866
.L4865:
	add	DWORD PTR -32[rbp], 1
.L4864:
	cmp	DWORD PTR -32[rbp], 11
	jle	.L4867
.L4866:
	cmp	DWORD PTR -32[rbp], 12
	je	.L4863
	cmp	DWORD PTR -32[rbp], 11
	ja	.L4918
	mov	eax, DWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4870[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4870[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4870:
	.long	.L4881-.L4870
	.long	.L4880-.L4870
	.long	.L4879-.L4870
	.long	.L4878-.L4870
	.long	.L4877-.L4870
	.long	.L4876-.L4870
	.long	.L4875-.L4870
	.long	.L4874-.L4870
	.long	.L4873-.L4870
	.long	.L4872-.L4870
	.long	.L4871-.L4870
	.long	.L4869-.L4870
	.text
.L4880:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 57
	mov	esi, 48
	mov	rdi, rax
	call	reg_addrange
.L4881:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	test	eax, eax
	jne	.L4882
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 122
	mov	esi, 97
	mov	rdi, rax
	call	reg_addrange
.L4882:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 90
	mov	esi, 65
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4879:
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC542[rip]
	mov	rdi, rax
	call	reg_addrange_str
	jmp	.L4868
.L4878:
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC543[rip]
	mov	rdi, rax
	call	reg_addrange_str
	jmp	.L4868
.L4877:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 90
	mov	esi, 65
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4876:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 122
	mov	esi, 97
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4874:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 102
	mov	esi, 97
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 70
	mov	esi, 65
	mov	rdi, rax
	call	reg_addrange
.L4875:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 57
	mov	esi, 48
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4873:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 31
	mov	esi, 0
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 127
	mov	esi, 127
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4871:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 126
	mov	esi, 32
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4872:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 126
	mov	esi, 33
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4868
.L4869:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 47
	mov	esi, 33
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 64
	mov	esi, 58
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 96
	mov	esi, 91
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 126
	mov	esi, 123
	mov	rdi, rax
	call	reg_addrange
	nop
.L4868:
	jmp	.L4918
.L4863:
	mov	edx, DWORD PTR -48[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	reg_addrange
	jmp	.L4857
.L4918:
	nop
.L4857:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4884
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 93
	jne	.L4885
.L4884:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	regc
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4886
	add	QWORD PTR -16[rbp], 1
.L4886:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4852
.L4849:
	lea	rdx, -44[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	reg
	mov	DWORD PTR -40[rbp], eax
	cmp	DWORD PTR -40[rbp], 0
	jne	.L4887
	mov	eax, 0
	jmp	.L4916
.L4887:
	mov	rax, QWORD PTR -80[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 5
	or	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4852
.L4841:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], 14
	mov	eax, 0
	jmp	.L4916
.L4843:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], 15
	mov	eax, 0
	jmp	.L4916
.L4845:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rdx], rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	je	.L4888
	test	eax, eax
	js	.L4889
	cmp	eax, 119
	jg	.L4889
	cmp	eax, 60
	jl	.L4889
	sub	eax, 60
	cmp	eax, 59
	ja	.L4889
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L4891[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L4891[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4891:
	.long	.L4893-.L4891
	.long	.L4889-.L4891
	.long	.L4896-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4897-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4894-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4896-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4892-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4890-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4895-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4894-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4893-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4892-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4889-.L4891
	.long	.L4890-.L4891
	.text
.L4888:
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], 16
	mov	eax, 0
	jmp	.L4916
.L4897:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 14
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4898
.L4895:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 15
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4898
.L4893:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 16
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4898
.L4896:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 17
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4898
.L4894:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 100
	jne	.L4899
	mov	edx, 4
	jmp	.L4900
.L4899:
	mov	edx, 5
.L4900:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 57
	mov	esi, 48
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	regc
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4898
.L4890:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 119
	jne	.L4901
	mov	edx, 4
	jmp	.L4902
.L4901:
	mov	edx, 5
.L4902:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	test	eax, eax
	jne	.L4903
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 122
	mov	esi, 97
	mov	rdi, rax
	call	reg_addrange
.L4903:
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 90
	mov	esi, 65
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 57
	mov	esi, 48
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, 95
	mov	esi, 95
	mov	rdi, rax
	call	reg_addrange
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	regc
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4898
.L4892:
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 115
	jne	.L4904
	mov	edx, 4
	jmp	.L4905
.L4904:
	mov	edx, 5
.L4905:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC542[rip]
	mov	rdi, rax
	call	reg_addrange_str
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	regc
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 3
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L4898
.L4889:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	jmp	.L4840
.L4898:
	jmp	.L4852
.L4906:
.L4840:
	mov	DWORD PTR -28[rbp], 0
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	neg	rax
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	regnode
	mov	DWORD PTR -40[rbp], eax
	jmp	.L4907
.L4914:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rcx, -52[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 92
	jne	.L4908
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4908
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC544[rip]
	call	strchr@PLT
	test	rax, rax
	jne	.L4919
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rdx, rax
	lea	rax, -52[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	reg_decode_escape
	add	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	jne	.L4908
	mov	rax, QWORD PTR -72[rbp]
	mov	DWORD PTR 8[rax], 18
	mov	eax, 0
	jmp	.L4916
.L4908:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L4911
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 43
	je	.L4911
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	je	.L4911
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 123
	jne	.L4912
.L4911:
	cmp	DWORD PTR -28[rbp], 0
	jne	.L4920
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regc
	add	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
	jmp	.L4910
.L4912:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regc
	add	DWORD PTR -28[rbp], 1
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 40[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 40[rax], rdx
.L4907:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4910
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 40[rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC545[rip]
	call	strchr@PLT
	test	rax, rax
	je	.L4914
	jmp	.L4910
.L4919:
	nop
	jmp	.L4910
.L4920:
	nop
.L4910:
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	regc
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 1
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
	cmp	DWORD PTR -28[rbp], 1
	jne	.L4921
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	or	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -80[rbp]
	mov	DWORD PTR [rax], edx
.L4921:
	nop
.L4852:
	mov	eax, DWORD PTR -40[rbp]
.L4916:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4917
	call	__stack_chk_fail@PLT
.L4917:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE575:
	.size	regatom, .-regatom
	.type	reg_grow, @function
reg_grow:
.LFB576:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cmp	edx, eax
	jl	.L4924
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	eax, DWORD PTR -12[rbp]
	add	eax, edx
	lea	edx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 52[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 52[rax]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rdx], rax
.L4924:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE576:
	.size	reg_grow, .-reg_grow
	.type	regnode, @function
regnode:
.LFB577:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	reg_grow
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rdx], ecx
	cdqe
	sal	rax, 2
	lea	rdx, [rsi+rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rdx], ecx
	cdqe
	sal	rax, 2
	add	rax, rsi
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	sub	eax, 2
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE577:
	.size	regnode, .-regnode
	.type	regc, @function
regc:
.LFB578:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	reg_grow
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rdx], ecx
	cdqe
	sal	rax, 2
	lea	rdx, [rsi+rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE578:
	.size	regc, .-regc
	.type	reginsert, @function
reginsert:
.LFB579:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	mov	DWORD PTR -20[rbp], ecx
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_grow
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	sub	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	rcx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdi, eax
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	add	rax, rdi
	sal	rax, 2
	add	rax, rsi
	mov	rsi, rcx
	mov	rdi, rax
	call	memmove@PLT
	mov	eax, DWORD PTR -16[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	rax, rcx
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR 48[rax]
	mov	eax, DWORD PTR -16[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], edx
	mov	edx, DWORD PTR -20[rbp]
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE579:
	.size	reginsert, .-reginsert
	.type	regtail, @function
regtail:
.LFB580:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -12[rbp], eax
.L4933:
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L4937
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR -12[rbp], eax
	jmp	.L4933
.L4937:
	nop
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	jne	.L4934
	mov	eax, DWORD PTR -12[rbp]
	sub	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -8[rbp], eax
	jmp	.L4935
.L4934:
	mov	eax, DWORD PTR -32[rbp]
	sub	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -8[rbp], eax
.L4935:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -8[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE580:
	.size	regtail, .-regtail
	.type	regoptail, @function
regoptail:
.LFB581:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	DWORD PTR -16[rbp], edx
	cmp	DWORD PTR -12[rbp], 0
	je	.L4940
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	jne	.L4940
	mov	eax, DWORD PTR -12[rbp]
	lea	ecx, 2[rax]
	mov	edx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regtail
.L4940:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE581:
	.size	regoptail, .-regoptail
	.globl	regexec
	.type	regexec, @function
regexec:
.LFB582:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	QWORD PTR -64[rbp], rcx
	mov	DWORD PTR -68[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -40[rbp], 0
	je	.L4942
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	test	rax, rax
	je	.L4942
	cmp	QWORD PTR -48[rbp], 0
	jne	.L4943
.L4942:
	mov	eax, 3
	jmp	.L4944
.L4943:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	eax, DWORD PTR [rax]
	cmp	eax, -86061043
	je	.L4945
	mov	eax, 17
	jmp	.L4944
.L4945:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -68[rbp]
	mov	DWORD PTR 56[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -64[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 96[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 64[rax], rdx
	mov	DWORD PTR -24[rbp], 3
	jmp	.L4946
.L4951:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 0
	je	.L4970
	cmp	DWORD PTR -20[rbp], 12
	je	.L4949
	cmp	DWORD PTR -20[rbp], 13
	jne	.L4950
.L4949:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	add	rax, 4
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 0
.L4950:
	mov	edx, DWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regopsize
	add	DWORD PTR -24[rbp], eax
.L4946:
	cmp	DWORD PTR -24[rbp], 0
	jne	.L4951
	jmp	.L4948
.L4970:
	nop
.L4948:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	test	eax, eax
	je	.L4952
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L4953
.L4956:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	ecx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 24[rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR 32[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 20[rdx]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rdi, [rsi+rdx]
	mov	rdx, QWORD PTR -16[rbp]
	mov	esi, eax
	call	prefix_cmp
	test	eax, eax
	jns	.L4971
	add	QWORD PTR -16[rbp], 1
.L4953:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 20[rax]
	cdqe
	sal	rax, 2
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	str_find
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4956
	jmp	.L4955
.L4971:
	nop
.L4955:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4952
	mov	eax, 1
	jmp	.L4944
.L4952:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 80[rax], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	je	.L4957
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 16
	test	eax, eax
	jne	.L4972
.L4958:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regtry
	test	eax, eax
	je	.L4960
	mov	eax, 0
	jmp	.L4944
.L4960:
	mov	rax, QWORD PTR -48[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4961
	jmp	.L4959
.L4972:
	nop
.L4959:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 1
	test	eax, eax
	je	.L4961
	mov	rax, QWORD PTR -48[rbp]
	mov	esi, 10
	mov	rdi, rax
	call	strchr@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	je	.L4961
	add	QWORD PTR -48[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 80[rax], rdx
	jmp	.L4958
.L4961:
	mov	eax, 1
	jmp	.L4944
.L4957:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	je	.L4962
	jmp	.L4963
.L4965:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regtry
	test	eax, eax
	je	.L4964
	mov	eax, 0
	jmp	.L4944
.L4964:
	add	QWORD PTR -16[rbp], 1
.L4963:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	ecx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	str_find
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L4965
	jmp	.L4966
.L4962:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	regtry
	test	eax, eax
	je	.L4967
	mov	eax, 0
	jmp	.L4944
.L4967:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L4973
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -28[rbp], eax
	mov	eax, 1
	cdqe
	add	QWORD PTR -16[rbp], rax
	jmp	.L4962
.L4973:
	nop
.L4966:
	mov	eax, 1
.L4944:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4969
	call	__stack_chk_fail@PLT
.L4969:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE582:
	.size	regexec, .-regexec
	.type	regtry, @function
regtry:
.LFB583:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L4975
.L4976:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	DWORD PTR 4[rax], -1
	add	DWORD PTR -4[rbp], 1
.L4975:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	DWORD PTR -4[rbp], eax
	jl	.L4976
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L4977
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	sub	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	DWORD PTR 4[rax], edx
	mov	eax, 1
	jmp	.L4978
.L4977:
	mov	eax, 0
.L4978:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE583:
	.size	regtry, .-regtry
	.type	prefix_cmp, @function
prefix_cmp:
.LFB584:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -48[rbp], ecx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L4980
.L4984:
	mov	edx, DWORD PTR -48[rbp]
	lea	rcx, -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -24[rbp]
	cmp	edx, eax
	je	.L4981
	mov	eax, -1
	jmp	.L4982
.L4981:
	add	QWORD PTR -40[rbp], 4
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	QWORD PTR -16[rbp], rax
	sub	DWORD PTR -44[rbp], 1
.L4980:
	cmp	DWORD PTR -44[rbp], 0
	je	.L4983
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L4984
.L4983:
	cmp	DWORD PTR -44[rbp], 0
	jne	.L4985
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -56[rbp]
	jmp	.L4982
.L4985:
	mov	eax, -1
.L4982:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L4986
	call	__stack_chk_fail@PLT
.L4986:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE584:
	.size	prefix_cmp, .-prefix_cmp
	.type	reg_range_find, @function
reg_range_find:
.LFB585:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	jmp	.L4988
.L4991:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jl	.L4989
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	add	eax, edx
	cmp	DWORD PTR -12[rbp], eax
	jge	.L4989
	mov	eax, 1
	jmp	.L4990
.L4989:
	add	QWORD PTR -8[rbp], 8
.L4988:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L4991
	mov	eax, 0
.L4990:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE585:
	.size	reg_range_find, .-reg_range_find
	.type	str_find, @function
str_find:
.LFB586:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -32[rbp], 0
	je	.L4994
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	toupper@PLT
	mov	DWORD PTR -28[rbp], eax
	jmp	.L4994
.L4997:
	mov	edx, DWORD PTR -32[rbp]
	lea	rcx, -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L4995
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L4996
.L4995:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	add	QWORD PTR -24[rbp], rax
.L4994:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L4997
	mov	eax, 0
.L4996:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L4998
	call	__stack_chk_fail@PLT
.L4998:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE586:
	.size	str_find, .-str_find
	.type	reg_iseol, @function
reg_iseol:
.LFB587:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 1
	test	eax, eax
	je	.L5000
	cmp	DWORD PTR -12[rbp], 0
	je	.L5001
	cmp	DWORD PTR -12[rbp], 10
	jne	.L5002
.L5001:
	mov	eax, 1
	jmp	.L5004
.L5002:
	mov	eax, 0
	jmp	.L5004
.L5000:
	cmp	DWORD PTR -12[rbp], 0
	sete	al
	movzx	eax, al
.L5004:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE587:
	.size	reg_iseol, .-reg_iseol
	.type	regmatchsimplerepeat, @function
regmatchsimplerepeat:
.LFB588:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	rax, 2
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	add	rax, 3
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -24[rbp], eax
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	jne	.L5006
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	rax, 2
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
.L5006:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -60[rbp]
	lea	ecx, 5[rax]
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regrepeat
	mov	DWORD PTR -32[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jge	.L5007
	mov	eax, 0
	jmp	.L5018
.L5007:
	cmp	DWORD PTR -64[rbp], 0
	je	.L5017
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -32[rbp], eax
.L5017:
	cmp	DWORD PTR -64[rbp], 0
	je	.L5010
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jle	.L5011
	jmp	.L5012
.L5010:
	mov	eax, DWORD PTR -32[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L5020
.L5011:
	mov	eax, DWORD PTR -32[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	lea	rcx, -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5013
	mov	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -36[rbp], eax
	jne	.L5014
.L5013:
	mov	edx, DWORD PTR -20[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5014
	mov	eax, 1
	jmp	.L5018
.L5014:
	cmp	DWORD PTR -64[rbp], 0
	je	.L5015
	add	DWORD PTR -32[rbp], 1
	jmp	.L5017
.L5015:
	sub	DWORD PTR -32[rbp], 1
	jmp	.L5017
.L5020:
	nop
.L5012:
	mov	eax, 0
.L5018:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L5019
	call	__stack_chk_fail@PLT
.L5019:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE588:
	.size	regmatchsimplerepeat, .-regmatchsimplerepeat
	.type	regmatchrepeat, @function
regmatchrepeat:
.LFB589:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	DWORD PTR -32[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR -12[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -12[rbp], eax
	jle	.L5022
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 5[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5023
	mov	eax, 1
	jmp	.L5024
.L5023:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	sub	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L5024
.L5022:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -16[rbp], eax
	jge	.L5025
	mov	eax, 0
	jmp	.L5024
.L5025:
	cmp	DWORD PTR -32[rbp], 0
	je	.L5026
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5027
	mov	eax, 1
	jmp	.L5024
.L5027:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 5[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5028
	mov	eax, 1
	jmp	.L5024
.L5028:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	sub	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, 0
	jmp	.L5024
.L5026:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -16[rbp], eax
	jle	.L5029
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 5[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5030
	mov	eax, 1
	jmp	.L5024
.L5030:
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 16
	mov	edx, DWORD PTR [rax]
	sub	edx, 1
	mov	DWORD PTR [rax], edx
.L5029:
	mov	edx, DWORD PTR -28[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
.L5024:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE589:
	.size	regmatchrepeat, .-regmatchrepeat
	.type	regmatch, @function
regmatch:
.LFB590:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -48[rbp], eax
	jmp	.L5032
.L5078:
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	DWORD PTR -44[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	lea	rcx, -52[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -40[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2000
	je	.L5033
	cmp	eax, 2000
	jg	.L5034
	cmp	eax, 17
	jg	.L5035
	test	eax, eax
	js	.L5034
	cmp	eax, 17
	ja	.L5034
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L5037[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L5037[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L5037:
	.long	.L5052-.L5037
	.long	.L5051-.L5037
	.long	.L5050-.L5037
	.long	.L5049-.L5037
	.long	.L5048-.L5037
	.long	.L5047-.L5037
	.long	.L5046-.L5037
	.long	.L5080-.L5037
	.long	.L5044-.L5037
	.long	.L5080-.L5037
	.long	.L5042-.L5037
	.long	.L5042-.L5037
	.long	.L5041-.L5037
	.long	.L5041-.L5037
	.long	.L5040-.L5037
	.long	.L5039-.L5037
	.long	.L5038-.L5037
	.long	.L5036-.L5037
	.text
.L5035:
	cmp	eax, 1000
	je	.L5033
	jmp	.L5034
.L5040:
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 56[rax]
	and	eax, 16
	test	eax, eax
	je	.L5051
	mov	eax, 0
	jmp	.L5077
.L5051:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	cmp	rdx, rax
	je	.L5081
	mov	eax, 0
	jmp	.L5077
.L5039:
	mov	eax, DWORD PTR -52[rbp]
	test	eax, eax
	je	.L5082
	mov	eax, 0
	jmp	.L5077
.L5050:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5083
	mov	eax, 0
	jmp	.L5077
.L5038:
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L5058
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 95
	je	.L5058
	mov	eax, 0
	jmp	.L5077
.L5058:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	cmp	rdx, rax
	jbe	.L5084
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L5060
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	cmp	al, 95
	jne	.L5084
.L5060:
	mov	eax, 0
	jmp	.L5077
.L5036:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 80[rax]
	cmp	rdx, rax
	jbe	.L5061
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5062
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	je	.L5062
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 95
	je	.L5061
.L5062:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	sub	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -52[rbp], eax
	call	__ctype_b_loc@PLT
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -52[rbp]
	movzx	eax, al
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	and	eax, 8
	test	eax, eax
	jne	.L5085
	mov	eax, DWORD PTR -52[rbp]
	cmp	eax, 95
	je	.L5085
.L5061:
	mov	eax, 0
	jmp	.L5077
.L5049:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	je	.L5063
	mov	eax, 0
	jmp	.L5077
.L5063:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L5055
.L5044:
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 2
	mov	DWORD PTR -36[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	rdi, rax
	call	str_int_len
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	ecx, eax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 2
	lea	rdi, [rsi+rax]
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, eax
	call	prefix_cmp
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jns	.L5064
	mov	eax, 0
	jmp	.L5077
.L5064:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L5055
.L5048:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5065
	mov	eax, DWORD PTR -52[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 32[rdx]
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	add	rdx, 2
	sal	rdx, 2
	add	rdx, rcx
	mov	esi, eax
	mov	rdi, rdx
	call	reg_range_find
	test	eax, eax
	jne	.L5066
.L5065:
	mov	eax, 0
	jmp	.L5077
.L5066:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L5055
.L5047:
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5067
	mov	eax, DWORD PTR -52[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 32[rdx]
	mov	edx, DWORD PTR -48[rbp]
	movsx	rdx, edx
	add	rdx, 2
	sal	rdx, 2
	add	rdx, rcx
	mov	esi, eax
	mov	rdi, rdx
	call	reg_range_find
	test	eax, eax
	je	.L5068
.L5067:
	mov	eax, 0
	jmp	.L5077
.L5068:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	add	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR 72[rax], rdx
	jmp	.L5055
.L5046:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	je	.L5069
	mov	eax, DWORD PTR -48[rbp]
	add	eax, 2
	mov	DWORD PTR -44[rbp], eax
	jmp	.L5055
.L5069:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -48[rbp]
	lea	edx, 2[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5071
	mov	eax, 1
	jmp	.L5077
.L5071:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	edx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regnext
	mov	DWORD PTR -48[rbp], eax
	cmp	DWORD PTR -48[rbp], 0
	je	.L5072
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 6
	je	.L5069
.L5072:
	mov	eax, 0
	jmp	.L5077
.L5042:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 11
	sete	al
	movzx	edx, al
	mov	ecx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regmatchsimplerepeat
	jmp	.L5077
.L5041:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 13
	sete	al
	movzx	edx, al
	mov	ecx, DWORD PTR -48[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	regmatchrepeat
	jmp	.L5077
.L5052:
	mov	eax, 1
	jmp	.L5077
.L5033:
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	jmp	.L5077
.L5034:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1001
	jle	.L5073
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2100
	jg	.L5073
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	edx, DWORD PTR -44[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	regmatch
	test	eax, eax
	je	.L5074
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 2000
	jg	.L5075
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 1001
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	DWORD PTR -20[rbp], eax
	jge	.L5076
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, -1
	jne	.L5076
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 88[rax]
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	jmp	.L5076
.L5075:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, 2001
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -72[rbp]
	mov	eax, DWORD PTR 96[rax]
	cmp	DWORD PTR -24[rbp], eax
	jge	.L5076
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	eax, DWORD PTR 4[rax]
	cmp	eax, -1
	jne	.L5076
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 64[rax]
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, rcx
	mov	rdx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rcx, QWORD PTR 88[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	DWORD PTR 4[rax], edx
.L5076:
	mov	eax, 1
	jmp	.L5077
.L5074:
	mov	eax, 0
	jmp	.L5077
.L5073:
	mov	eax, 14
	jmp	.L5077
.L5080:
	nop
	jmp	.L5055
.L5081:
	nop
	jmp	.L5055
.L5082:
	nop
	jmp	.L5055
.L5083:
	nop
	jmp	.L5055
.L5084:
	nop
	jmp	.L5055
.L5085:
	nop
.L5055:
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR -48[rbp], eax
.L5032:
	cmp	DWORD PTR -48[rbp], 0
	jne	.L5078
	mov	eax, 14
.L5077:
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L5079
	call	__stack_chk_fail@PLT
.L5079:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE590:
	.size	regmatch, .-regmatch
	.type	regrepeat, @function
regrepeat:
.LFB591:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	DWORD PTR -48[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -28[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, 2
	mov	DWORD PTR -24[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 8
	je	.L5096
	cmp	eax, 8
	jg	.L5088
	cmp	eax, 5
	je	.L5103
	cmp	eax, 5
	jg	.L5088
	cmp	eax, 3
	je	.L5092
	cmp	eax, 4
	je	.L5100
	jmp	.L5088
.L5094:
	add	DWORD PTR -28[rbp], 1
	add	QWORD PTR -16[rbp], 1
.L5092:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5109
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L5094
	jmp	.L5109
.L5099:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	cmp	edx, eax
	jne	.L5110
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	QWORD PTR -16[rbp], rax
.L5096:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L5099
	jmp	.L5095
.L5110:
	nop
	jmp	.L5095
.L5102:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5111
	mov	eax, DWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 32[rdx]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	esi, eax
	mov	rdi, rdx
	call	reg_range_find
	test	eax, eax
	je	.L5111
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	QWORD PTR -16[rbp], rax
.L5100:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L5102
	jmp	.L5111
.L5105:
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 4[rax]
	and	eax, 2
	mov	edx, eax
	lea	rcx, -32[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	reg_utf8_tounicode_case
	mov	DWORD PTR -20[rbp], eax
	mov	edx, DWORD PTR -32[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	reg_iseol
	test	eax, eax
	jne	.L5112
	mov	eax, DWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR 32[rdx]
	mov	edx, DWORD PTR -24[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	esi, eax
	mov	rdi, rdx
	call	reg_range_find
	test	eax, eax
	jne	.L5112
	add	DWORD PTR -28[rbp], 1
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	add	QWORD PTR -16[rbp], rax
.L5103:
	mov	eax, DWORD PTR -28[rbp]
	cmp	eax, DWORD PTR -48[rbp]
	jl	.L5105
	jmp	.L5112
.L5088:
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 8[rax], 14
	mov	DWORD PTR -28[rbp], 0
	jmp	.L5095
.L5109:
	nop
	jmp	.L5095
.L5111:
	nop
	jmp	.L5095
.L5112:
	nop
.L5095:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	eax, DWORD PTR -28[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L5107
	call	__stack_chk_fail@PLT
.L5107:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE591:
	.size	regrepeat, .-regrepeat
	.type	regnext, @function
regnext:
.LFB592:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	jne	.L5114
	mov	eax, 0
	jmp	.L5115
.L5114:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 7
	jne	.L5116
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, DWORD PTR -4[rbp]
	jmp	.L5115
.L5116:
	mov	edx, DWORD PTR -28[rbp]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
.L5115:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE592:
	.size	regnext, .-regnext
	.type	regopsize, @function
regopsize:
.LFB593:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	eax, 13
	jg	.L5118
	cmp	eax, 10
	jge	.L5119
	cmp	eax, 5
	jg	.L5120
	cmp	eax, 4
	jge	.L5121
	jmp	.L5118
.L5120:
	cmp	eax, 8
	je	.L5121
	jmp	.L5118
.L5119:
	mov	eax, 5
	jmp	.L5122
.L5121:
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 2
	mov	DWORD PTR -4[rbp], eax
	nop
.L5123:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR 32[rax]
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, 1[rax]
	mov	DWORD PTR -4[rbp], edx
	cdqe
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L5123
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, DWORD PTR -28[rbp]
	jmp	.L5122
.L5118:
	mov	eax, 2
.L5122:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE593:
	.size	regopsize, .-regopsize
	.section	.rodata
.LC546:
	.string	"Bad error code"
	.text
	.globl	regerror
	.type	regerror, @function
regerror:
.LFB594:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	cmp	DWORD PTR -20[rbp], 0
	js	.L5125
	cmp	DWORD PTR -20[rbp], 18
	jle	.L5126
.L5125:
	lea	rax, .LC546[rip]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L5127
.L5126:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, error_strings.0[rip]
	mov	rax, QWORD PTR [rdx+rax]
	mov	QWORD PTR -8[rbp], rax
.L5127:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rdx
	lea	rdx, .LC522[rip]
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	cdqe
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE594:
	.size	regerror, .-regerror
	.globl	regfree
	.type	regfree, @function
regfree:
.LFB595:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 32[rax]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE595:
	.size	regfree, .-regfree
	.globl	Jim_HistoryGetline
	.type	Jim_HistoryGetline, @function
Jim_HistoryGetline:
.LFB596:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	edi, 512
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	mov	rdx, QWORD PTR stdin[rip]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 512
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L5131
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	jmp	.L5132
.L5131:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L5133
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 10
	jne	.L5133
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L5133:
	mov	rax, QWORD PTR -8[rbp]
.L5132:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE596:
	.size	Jim_HistoryGetline, .-Jim_HistoryGetline
	.globl	Jim_HistoryLoad
	.type	Jim_HistoryLoad, @function
Jim_HistoryLoad:
.LFB597:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE597:
	.size	Jim_HistoryLoad, .-Jim_HistoryLoad
	.globl	Jim_HistoryAdd
	.type	Jim_HistoryAdd, @function
Jim_HistoryAdd:
.LFB598:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE598:
	.size	Jim_HistoryAdd, .-Jim_HistoryAdd
	.globl	Jim_HistorySave
	.type	Jim_HistorySave, @function
Jim_HistorySave:
.LFB599:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE599:
	.size	Jim_HistorySave, .-Jim_HistorySave
	.globl	Jim_HistoryShow
	.type	Jim_HistoryShow, @function
Jim_HistoryShow:
.LFB600:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE600:
	.size	Jim_HistoryShow, .-Jim_HistoryShow
	.section	.rodata
.LC547:
	.string	"Welcome to Jim version %d.%d\n"
.LC548:
	.string	"[%d] . "
.LC549:
	.string	"[%s] . "
.LC550:
	.string	"%c> "
	.text
	.globl	Jim_InteractivePrompt
	.type	Jim_InteractivePrompt, @function
Jim_InteractivePrompt:
.LFB601:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -76[rbp], 0
	mov	QWORD PTR -72[rbp], 0
	mov	edx, 76
	mov	esi, 0
	lea	rdi, .LC547[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -88[rbp]
	lea	rdx, .LC160[rip]
	lea	rsi, .LC234[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
.L5155:
	cmp	DWORD PTR -76[rbp], 0
	je	.L5139
	mov	eax, DWORD PTR -76[rbp]
	mov	edi, eax
	call	Jim_ReturnCode
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 63
	jne	.L5140
	mov	edx, DWORD PTR -76[rbp]
	lea	rax, -32[rbp]
	mov	ecx, edx
	lea	rdx, .LC548[rip]
	mov	esi, 17
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L5141
.L5140:
	mov	rdx, QWORD PTR -64[rbp]
	lea	rax, -32[rbp]
	mov	rcx, rdx
	lea	rdx, .LC549[rip]
	mov	esi, 17
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L5141
.L5139:
	lea	rax, -32[rbp]
	mov	WORD PTR [rax], 8238
	mov	BYTE PTR 2[rax], 0
.L5141:
	mov	rax, QWORD PTR -88[rbp]
	mov	edx, 0
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
.L5151:
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	Jim_HistoryGetline
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L5142
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	cmp	eax, 4
	je	.L5158
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jg	.L5145
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L5145:
	mov	DWORD PTR -76[rbp], 0
	jmp	.L5146
.L5142:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	Jim_Length
	test	eax, eax
	je	.L5147
	mov	rsi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, 1
	lea	rdx, .LC20[rip]
	mov	rdi, rax
	call	Jim_AppendString
.L5147:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	ecx, -1
	mov	rdi, rax
	call	Jim_AppendString
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdx, -80[rbp]
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ScriptIsComplete
	test	eax, eax
	je	.L5148
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalObj
	mov	DWORD PTR -76[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 16[rax]
	test	eax, eax
	jle	.L5149
	jmp	.L5150
.L5148:
	movzx	eax, BYTE PTR -80[rbp]
	movsx	edx, al
	lea	rax, -32[rbp]
	mov	ecx, edx
	lea	rdx, .LC550[rip]
	mov	esi, 20
	mov	rdi, rax
	mov	eax, 0
	call	snprintf@PLT
	jmp	.L5151
.L5158:
	nop
	jmp	.L5151
.L5149:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_FreeObj
.L5150:
	cmp	DWORD PTR -76[rbp], 6
	je	.L5159
	cmp	DWORD PTR -76[rbp], 1
	jne	.L5153
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	Jim_MakeErrorMessage
.L5153:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_GetString
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	test	eax, eax
	je	.L5155
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	puts@PLT
	jmp	.L5155
.L5159:
	nop
.L5146:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	Jim_Free
	mov	eax, DWORD PTR -76[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L5157
	call	__stack_chk_fail@PLT
.L5157:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE601:
	.size	Jim_InteractivePrompt, .-Jim_InteractivePrompt
	.section	.rodata
.LC551:
	.string	"argv"
.LC552:
	.string	"argc"
	.text
	.type	JimSetArgv, @function
JimSetArgv:
.LFB602:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -44[rbp], esi
	mov	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	Jim_NewListObj
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L5161
.L5162:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_ListAppendElement
	add	DWORD PTR -20[rbp], 1
.L5161:
	mov	eax, DWORD PTR -20[rbp]
	cmp	eax, DWORD PTR -44[rbp]
	jl	.L5162
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC551[rip]
	mov	rdi, rax
	call	Jim_SetVariableStr
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_NewIntObj
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC552[rip]
	mov	rdi, rax
	call	Jim_SetVariableStr
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE602:
	.size	JimSetArgv, .-JimSetArgv
	.section	.rodata
.LC553:
	.string	"%s\n"
	.text
	.type	JimPrintErrorMessage, @function
JimPrintErrorMessage:
.LFB603:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_MakeErrorMessage
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdx, rax
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC553[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE603:
	.size	JimPrintErrorMessage, .-JimPrintErrorMessage
	.section	.rodata
.LC554:
	.string	"jimsh version %d.%d\n"
.LC555:
	.string	"Usage: %s\n"
	.align 8
.LC556:
	.string	"or   : %s [options] [filename]\n"
	.align 8
.LC557:
	.string	"Without options: Interactive mode"
.LC558:
	.string	"Options:"
	.align 8
.LC559:
	.string	"         --version  : prints the version string"
	.align 8
.LC560:
	.string	"         --help     : prints this text"
	.align 8
.LC561:
	.string	"         -e CMD     : executes command CMD"
	.align 8
.LC562:
	.string	"                      NOTE: all subsequent options will be passed as arguments to the command"
	.align 8
.LC563:
	.string	"         [filename] : executes the script contained in the named file"
	.align 8
.LC564:
	.string	"                      NOTE: all subsequent options will be passed to the script\n"
	.text
	.globl	usage
	.type	usage, @function
usage:
.LFB604:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	edx, 76
	mov	esi, 0
	lea	rdi, .LC554[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC555[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC556[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC557[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC558[rip]
	call	puts@PLT
	lea	rdi, .LC559[rip]
	call	puts@PLT
	lea	rdi, .LC560[rip]
	call	puts@PLT
	lea	rdi, .LC561[rip]
	call	puts@PLT
	lea	rdi, .LC562[rip]
	call	puts@PLT
	lea	rdi, .LC563[rip]
	call	puts@PLT
	lea	rdi, .LC564[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE604:
	.size	usage, .-usage
	.section	.rodata
.LC565:
	.string	"--version"
.LC566:
	.string	"%d.%d\n"
.LC567:
	.string	"--help"
.LC568:
	.string	"jim::argv0"
.LC569:
	.string	"-e"
.LC570:
	.string	"argv0"
	.text
	.globl	main
	.type	main, @function
main:
.LFB605:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	cmp	DWORD PTR -36[rbp], 1
	jle	.L5166
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC565[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L5166
	mov	edx, 76
	mov	esi, 0
	lea	rdi, .LC566[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L5167
.L5166:
	cmp	DWORD PTR -36[rbp], 1
	jle	.L5168
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC567[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L5168
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	usage
	mov	eax, 0
	jmp	.L5167
.L5168:
	call	Jim_CreateInterp
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_RegisterCoreCommands
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_InitStaticExtensions
	test	eax, eax
	je	.L5169
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimPrintErrorMessage
.L5169:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC568[rip]
	mov	rdi, rax
	call	Jim_SetVariableStrWithStr
	cmp	DWORD PTR -36[rbp], 1
	jne	.L5170
	lea	rax, .LC160[rip]
	jmp	.L5171
.L5170:
	lea	rax, .LC233[rip]
.L5171:
	mov	rcx, QWORD PTR -8[rbp]
	mov	rdx, rax
	lea	rsi, .LC234[rip]
	mov	rdi, rcx
	call	Jim_SetVariableStrWithStr
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_initjimshInit
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -36[rbp], 1
	jne	.L5172
	cmp	DWORD PTR -20[rbp], 1
	jne	.L5173
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimPrintErrorMessage
.L5173:
	cmp	DWORD PTR -20[rbp], 6
	je	.L5174
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	JimSetArgv
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_InteractivePrompt
	mov	DWORD PTR -20[rbp], eax
	jmp	.L5174
.L5172:
	cmp	DWORD PTR -36[rbp], 2
	jle	.L5175
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC569[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L5175
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 24[rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	ecx, -3[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimSetArgv
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 16
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_Eval
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 1
	je	.L5177
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	Jim_String
	mov	rdi, rax
	call	puts@PLT
	jmp	.L5177
.L5175:
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, -1
	mov	rsi, rcx
	mov	rdi, rax
	call	Jim_NewStringObj
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC570[rip]
	mov	rdi, rax
	call	Jim_SetVariableStr
	mov	rax, QWORD PTR -48[rbp]
	lea	rdx, 16[rax]
	mov	eax, DWORD PTR -36[rbp]
	lea	ecx, -2[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	JimSetArgv
	mov	rax, QWORD PTR -48[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	Jim_EvalFile
	mov	DWORD PTR -20[rbp], eax
.L5177:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L5174
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	JimPrintErrorMessage
.L5174:
	cmp	DWORD PTR -20[rbp], 6
	jne	.L5178
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_GetExitCode
	mov	DWORD PTR -20[rbp], eax
	jmp	.L5179
.L5178:
	cmp	DWORD PTR -20[rbp], 1
	jne	.L5180
	mov	DWORD PTR -20[rbp], 1
	jmp	.L5179
.L5180:
	mov	DWORD PTR -20[rbp], 0
.L5179:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	Jim_FreeInterp
	mov	eax, DWORD PTR -20[rbp]
.L5167:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE605:
	.size	main, .-main
	.section	.rodata
.LC571:
	.string	"none"
.LC572:
	.string	"line"
.LC573:
	.string	"full"
	.section	.data.rel.ro.local
	.align 32
	.type	options.22, @object
	.size	options.22, 32
options.22:
	.quad	.LC571
	.quad	.LC572
	.quad	.LC573
	.quad	0
	.section	.rodata
.LC574:
	.string	"-indices"
.LC575:
	.string	"-line"
.LC576:
	.string	"-all"
.LC577:
	.string	"-inline"
.LC578:
	.string	"-start"
	.section	.data.rel.ro.local
	.align 32
	.type	options.21, @object
	.size	options.21, 64
options.21:
	.quad	.LC574
	.quad	.LC363
	.quad	.LC575
	.quad	.LC576
	.quad	.LC577
	.quad	.LC578
	.quad	.LC97
	.quad	0
	.align 32
	.type	options.20, @object
	.size	options.20, 48
options.20:
	.quad	.LC363
	.quad	.LC575
	.quad	.LC576
	.quad	.LC578
	.quad	.LC97
	.quad	0
	.local	buf.19
	.comm	buf.19,10,8
	.section	.rodata
	.align 16
	.type	__PRETTY_FUNCTION__.18, @object
	.size	__PRETTY_FUNCTION__.18, 20
__PRETTY_FUNCTION__.18:
	.string	"Jim_ExpandHashTable"
.LC579:
	.string	"integer"
.LC580:
	.string	"alpha"
.LC581:
	.string	"alnum"
.LC582:
	.string	"ascii"
.LC583:
	.string	"digit"
.LC584:
	.string	"lower"
.LC585:
	.string	"upper"
.LC586:
	.string	"space"
.LC587:
	.string	"xdigit"
.LC588:
	.string	"control"
.LC589:
	.string	"print"
.LC590:
	.string	"graph"
.LC591:
	.string	"punct"
	.section	.data.rel.ro.local
	.align 32
	.type	strclassnames.17, @object
	.size	strclassnames.17, 120
strclassnames.17:
	.quad	.LC579
	.quad	.LC580
	.quad	.LC581
	.quad	.LC582
	.quad	.LC583
	.quad	.LC254
	.quad	.LC584
	.quad	.LC585
	.quad	.LC586
	.quad	.LC587
	.quad	.LC588
	.quad	.LC589
	.quad	.LC590
	.quad	.LC591
	.quad	0
	.local	dummy_op.16
	.comm	dummy_op.16,24,16
	.section	.rodata
.LC592:
	.string	"NIL"
.LC593:
	.string	"STR"
.LC594:
	.string	"ESC"
.LC595:
	.string	"VAR"
.LC596:
	.string	"ARY"
.LC597:
	.string	"CMD"
.LC598:
	.string	"SEP"
.LC599:
	.string	"EOL"
.LC600:
	.string	"EOF"
.LC601:
	.string	"LIN"
.LC602:
	.string	"WRD"
.LC603:
	.string	"((("
.LC604:
	.string	")))"
.LC605:
	.string	",,,"
.LC606:
	.string	"INT"
.LC607:
	.string	"DBL"
.LC608:
	.string	"$()"
	.section	.data.rel.ro.local
	.align 32
	.type	tt_names.15, @object
	.size	tt_names.15, 160
tt_names.15:
	.quad	.LC592
	.quad	.LC593
	.quad	.LC594
	.quad	.LC595
	.quad	.LC596
	.quad	.LC597
	.quad	.LC598
	.quad	.LC599
	.quad	.LC600
	.quad	.LC601
	.quad	.LC602
	.quad	.LC603
	.quad	.LC604
	.quad	.LC605
	.quad	.LC606
	.quad	.LC607
	.quad	.LC608
	.zero	24
	.local	buf.14
	.comm	buf.14,20,16
	.section	.rodata
.LC609:
	.string	"-bool"
.LC610:
	.string	"-not"
	.section	.data.rel.ro.local
	.align 32
	.type	options.13, @object
	.size	options.13, 80
options.13:
	.quad	.LC609
	.quad	.LC610
	.quad	.LC363
	.quad	.LC365
	.quad	.LC366
	.quad	.LC367
	.quad	.LC576
	.quad	.LC577
	.quad	.LC368
	.quad	0
	.section	.rodata
.LC611:
	.string	"-ascii"
.LC612:
	.string	"-increasing"
.LC613:
	.string	"-decreasing"
.LC614:
	.string	"-integer"
.LC615:
	.string	"-real"
.LC616:
	.string	"-index"
.LC617:
	.string	"-unique"
	.section	.data.rel.ro.local
	.align 32
	.type	options.12, @object
	.size	options.12, 80
options.12:
	.quad	.LC611
	.quad	.LC363
	.quad	.LC612
	.quad	.LC613
	.quad	.LC368
	.quad	.LC614
	.quad	.LC615
	.quad	.LC616
	.quad	.LC617
	.quad	0
	.section	.rodata
.LC618:
	.string	"bytelength"
.LC619:
	.string	"length"
.LC620:
	.string	"compare"
.LC621:
	.string	"match"
.LC622:
	.string	"equal"
.LC623:
	.string	"is"
.LC624:
	.string	"byterange"
.LC625:
	.string	"replace"
.LC626:
	.string	"map"
.LC627:
	.string	"repeat"
.LC628:
	.string	"reverse"
.LC629:
	.string	"first"
.LC630:
	.string	"last"
.LC631:
	.string	"cat"
.LC632:
	.string	"trim"
.LC633:
	.string	"trimleft"
.LC634:
	.string	"trimright"
.LC635:
	.string	"tolower"
.LC636:
	.string	"toupper"
.LC637:
	.string	"totitle"
	.section	.data.rel.ro.local
	.align 32
	.type	options.11, @object
	.size	options.11, 184
options.11:
	.quad	.LC618
	.quad	.LC619
	.quad	.LC620
	.quad	.LC621
	.quad	.LC622
	.quad	.LC623
	.quad	.LC624
	.quad	.LC510
	.quad	.LC625
	.quad	.LC626
	.quad	.LC627
	.quad	.LC628
	.quad	.LC267
	.quad	.LC629
	.quad	.LC630
	.quad	.LC631
	.quad	.LC632
	.quad	.LC633
	.quad	.LC634
	.quad	.LC635
	.quad	.LC636
	.quad	.LC637
	.quad	0
	.section	.rodata
.LC638:
	.string	"-length"
	.section	.data.rel.ro.local
	.align 16
	.type	nocase_length_options.10, @object
	.size	nocase_length_options.10, 24
nocase_length_options.10:
	.quad	.LC363
	.quad	.LC638
	.quad	0
	.align 16
	.type	nocase_options.9, @object
	.size	nocase_options.9, 16
nocase_options.9:
	.quad	.LC363
	.quad	0
	.section	.rodata
	.align 4
	.type	max_ignore_code.8, @object
	.size	max_ignore_code.8, 4
max_ignore_code.8:
	.long	64
.LC639:
	.string	"create"
.LC640:
	.string	"keys"
.LC641:
	.string	"merge"
.LC642:
	.string	"with"
.LC643:
	.string	"remove"
.LC644:
	.string	"values"
.LC645:
	.string	"update"
	.section	.data.rel.ro.local
	.align 32
	.type	options.7, @object
	.size	options.7, 152
options.7:
	.quad	.LC639
	.quad	.LC180
	.quad	.LC183
	.quad	.LC185
	.quad	.LC119
	.quad	.LC640
	.quad	.LC86
	.quad	.LC504
	.quad	.LC641
	.quad	.LC642
	.quad	.LC488
	.quad	.LC484
	.quad	.LC354
	.quad	.LC643
	.quad	.LC644
	.quad	.LC475
	.quad	.LC625
	.quad	.LC645
	.quad	0
	.section	.rodata
.LC646:
	.string	"-nobackslashes"
.LC647:
	.string	"-nocommands"
.LC648:
	.string	"-novariables"
	.section	.data.rel.ro.local
	.align 32
	.type	options.6, @object
	.size	options.6, 32
options.6:
	.quad	.LC646
	.quad	.LC647
	.quad	.LC648
	.quad	0
	.section	.rodata
.LC649:
	.string	"body"
.LC650:
	.string	"statics"
.LC651:
	.string	"commands"
.LC652:
	.string	"procs"
.LC653:
	.string	"channels"
.LC654:
	.string	"globals"
.LC655:
	.string	"level"
.LC656:
	.string	"frame"
.LC657:
	.string	"locals"
.LC658:
	.string	"vars"
.LC659:
	.string	"version"
.LC660:
	.string	"patchlevel"
.LC661:
	.string	"complete"
.LC662:
	.string	"hostname"
.LC663:
	.string	"stacktrace"
.LC664:
	.string	"nameofexecutable"
.LC665:
	.string	"returncodes"
.LC666:
	.string	"references"
	.section	.data.rel.ro.local
	.align 32
	.type	commands.5, @object
	.size	commands.5, 192
commands.5:
	.quad	.LC649
	.quad	.LC650
	.quad	.LC651
	.quad	.LC652
	.quad	.LC653
	.quad	.LC119
	.quad	.LC654
	.quad	.LC655
	.quad	.LC656
	.quad	.LC657
	.quad	.LC658
	.quad	.LC659
	.quad	.LC660
	.quad	.LC661
	.quad	.LC207
	.quad	.LC662
	.quad	.LC196
	.quad	.LC194
	.quad	.LC663
	.quad	.LC664
	.quad	.LC665
	.quad	.LC666
	.quad	.LC472
	.quad	0
	.section	.rodata
.LC667:
	.string	"-proc"
.LC668:
	.string	"-alias"
.LC669:
	.string	"-var"
	.section	.data.rel.ro.local
	.align 32
	.type	options.4, @object
	.size	options.4, 40
options.4:
	.quad	.LC368
	.quad	.LC667
	.quad	.LC668
	.quad	.LC669
	.quad	0
	.align 8
	.type	mixedXPG.3, @object
	.size	mixedXPG.3, 8
mixedXPG.3:
	.quad	.LC329
	.section	.rodata
	.align 8
.LC670:
	.string	"not enough arguments for all format specifiers"
	.section	.data.rel.ro.local
	.align 16
	.type	badIndex.2, @object
	.size	badIndex.2, 16
badIndex.2:
	.quad	.LC670
	.quad	.LC459
	.section	.rodata
.LC671:
	.string	":alpha:"
.LC672:
	.string	":alnum:"
.LC673:
	.string	":space:"
.LC674:
	.string	":blank:"
.LC675:
	.string	":upper:"
.LC676:
	.string	":lower:"
.LC677:
	.string	":digit:"
.LC678:
	.string	":xdigit:"
.LC679:
	.string	":cntrl:"
.LC680:
	.string	":graph:"
.LC681:
	.string	":print:"
.LC682:
	.string	":punct:"
	.section	.data.rel.local,"aw"
	.align 32
	.type	character_class.1, @object
	.size	character_class.1, 96
character_class.1:
	.quad	.LC671
	.quad	.LC672
	.quad	.LC673
	.quad	.LC674
	.quad	.LC675
	.quad	.LC676
	.quad	.LC677
	.quad	.LC678
	.quad	.LC679
	.quad	.LC680
	.quad	.LC681
	.quad	.LC682
	.section	.rodata
.LC683:
	.string	"success"
.LC684:
	.string	"no match"
.LC685:
	.string	"bad pattern"
.LC686:
	.string	"null argument"
.LC687:
	.string	"unknown error"
.LC688:
	.string	"too big"
.LC689:
	.string	"out of memory"
.LC690:
	.string	"too many ()"
.LC691:
	.string	"parentheses () not balanced"
.LC692:
	.string	"braces {} not balanced"
.LC693:
	.string	"invalid repetition count(s)"
.LC694:
	.string	"extra characters"
.LC695:
	.string	"*+ of empty atom"
.LC696:
	.string	"nested count"
.LC697:
	.string	"internal error"
.LC698:
	.string	"count follows nothing"
.LC699:
	.string	"trailing backslash"
.LC700:
	.string	"corrupted program"
.LC701:
	.string	"contains null char"
	.section	.data.rel.local
	.align 32
	.type	error_strings.0, @object
	.size	error_strings.0, 152
error_strings.0:
	.quad	.LC683
	.quad	.LC684
	.quad	.LC685
	.quad	.LC686
	.quad	.LC687
	.quad	.LC688
	.quad	.LC689
	.quad	.LC690
	.quad	.LC691
	.quad	.LC692
	.quad	.LC693
	.quad	.LC694
	.quad	.LC695
	.quad	.LC696
	.quad	.LC697
	.quad	.LC698
	.quad	.LC699
	.quad	.LC700
	.quad	.LC701
	.section	.rodata
	.align 8
.LC256:
	.long	0
	.long	1072693248
	.align 8
.LC281:
	.long	0
	.long	1071644672
	.align 16
.LC282:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC283:
	.long	0
	.long	1139802112
	.align 8
.LC286:
	.long	0
	.long	-1048576
	.align 8
.LC287:
	.long	0
	.long	2146435072
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"915129.c"
	.section	.rodata
	.align	2
.LC0:
	.ascii	"NaN\000"
	.align	2
.LC1:
	.ascii	"nan\000"
	.align	2
.LC2:
	.ascii	"NAN\000"
	.align	2
.LC3:
	.ascii	"Inf\000"
	.align	2
.LC4:
	.ascii	"inf\000"
	.align	2
.LC5:
	.ascii	"INF\000"
	.text
	.section	.rodata
	.align	2
.LC7:
	.ascii	"1.0\000"
	.align	2
.LC8:
	.ascii	"bootstrap\000"
	.align	2
.LC9:
	.ascii	"\012\012proc package {cmd pkg} {\012\011if {$cmd eq"
	.ascii	" \"require\"} {\012\011\011foreach path $::auto_pat"
	.ascii	"h {\012\011\011\011if {[file exists $path/$pkg.tcl]"
	.ascii	"} {\012\011\011\011\011uplevel #0 [list source $pat"
	.ascii	"h/$pkg.tcl]\012\011\011\011\011return\012\011\011\011"
	.ascii	"}\012\011\011}\012\011}\012}\012\000"
	.align	2
.LC10:
	.ascii	"bootstrap.tcl\000"
	.text
	.align	2
	.global	Jim_bootstrapInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_bootstrapInit, %function
Jim_bootstrapInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L4
	ldr	r1, .L4+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L2
	mov	r3, #1
	b	.L3
.L2:
	ldr	r3, .L4+8
	mov	r2, #1
	ldr	r1, .L4+12
	ldr	r0, [fp, #-8]
	bl	Jim_EvalSource
	mov	r3, r0
.L3:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5:
	.align	2
.L4:
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.size	Jim_bootstrapInit, .-Jim_bootstrapInit
	.section	.rodata
	.align	2
.LC11:
	.ascii	"initjimsh\000"
	.align	2
.LC12:
	.ascii	"\012\012\012proc _jimsh_init {} {\012\011rename _ji"
	.ascii	"msh_init {}\012\011global jim::exe jim::argv0 tcl_i"
	.ascii	"nteractive auto_path tcl_platform\012\012\012\011if"
	.ascii	" {[exists jim::argv0]} {\012\011\011if {[string mat"
	.ascii	"ch \"*/*\" $jim::argv0]} {\012\011\011\011set jim::"
	.ascii	"exe [file join [pwd] $jim::argv0]\012\011\011} else"
	.ascii	" {\012\011\011\011foreach path [split [env PATH \"\""
	.ascii	"] $tcl_platform(pathSeparator)] {\012\011\011\011\011"
	.ascii	"set exec [file join [pwd] [string map {\\\\ /} $pat"
	.ascii	"h] $jim::argv0]\012\011\011\011\011if {[file execut"
	.ascii	"able $exec]} {\012\011\011\011\011\011set jim::exe "
	.ascii	"$exec\012\011\011\011\011\011break\012\011\011\011\011"
	.ascii	"}\012\011\011\011}\012\011\011}\012\011}\012\012\012"
	.ascii	"\011lappend p {*}[split [env JIMLIB {}] $tcl_platfo"
	.ascii	"rm(pathSeparator)]\012\011if {[exists jim::exe]} {\012"
	.ascii	"\011\011lappend p [file dirname $jim::exe]\012\011}"
	.ascii	"\012\011lappend p {*}$auto_path\012\011set auto_pat"
	.ascii	"h $p\012\012\011if {$tcl_interactive && [env HOME {"
	.ascii	"}] ne \"\"} {\012\011\011foreach src {.jimrc jimrc."
	.ascii	"tcl} {\012\011\011\011if {[file exists [env HOME]/$"
	.ascii	"src]} {\012\011\011\011\011uplevel #0 source [env H"
	.ascii	"OME]/$src\012\011\011\011\011break\012\011\011\011}"
	.ascii	"\012\011\011}\012\011}\012\011return \"\"\012}\012\012"
	.ascii	"if {$tcl_platform(platform) eq \"windows\"} {\012\011"
	.ascii	"set jim::argv0 [string map {\\\\ /} $jim::argv0]\012"
	.ascii	"}\012\012_jimsh_init\012\000"
	.align	2
.LC13:
	.ascii	"initjimsh.tcl\000"
	.text
	.align	2
	.global	Jim_initjimshInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_initjimshInit, %function
Jim_initjimshInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L9
	ldr	r1, .L9+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L7
	mov	r3, #1
	b	.L8
.L7:
	ldr	r3, .L9+8
	mov	r2, #1
	ldr	r1, .L9+12
	ldr	r0, [fp, #-8]
	bl	Jim_EvalSource
	mov	r3, r0
.L8:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	.LC7
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.size	Jim_initjimshInit, .-Jim_initjimshInit
	.section	.rodata
	.align	2
.LC14:
	.ascii	"glob\000"
	.align	2
.LC15:
	.ascii	"\012\012\012\012\012\012\012package require readdir"
	.ascii	"\012\012\012proc glob.globdir {dir pattern} {\012\011"
	.ascii	"if {[file exists $dir/$pattern]} {\012\012\011\011r"
	.ascii	"eturn [list $pattern]\012\011}\012\012\011set resul"
	.ascii	"t {}\012\011set files [readdir $dir]\012\011lappend"
	.ascii	" files . ..\012\012\011foreach name $files {\012\011"
	.ascii	"\011if {[string match $pattern $name]} {\012\012\011"
	.ascii	"\011\011if {[string index $name 0] eq \".\" && [str"
	.ascii	"ing index $pattern 0] ne \".\"} {\012\011\011\011\011"
	.ascii	"continue\012\011\011\011}\012\011\011\011lappend re"
	.ascii	"sult $name\012\011\011}\012\011}\012\012\011return "
	.ascii	"$result\012}\012\012\012\012\012proc glob.explode {"
	.ascii	"pattern} {\012\011set oldexp {}\012\011set newexp {"
	.ascii	"\"\"}\012\012\011while 1 {\012\011\011set oldexp $n"
	.ascii	"ewexp\012\011\011set newexp {}\012\011\011set ob [s"
	.ascii	"tring first \\{ $pattern]\012\011\011set cb [string"
	.ascii	" first \\} $pattern]\012\012\011\011if {$ob < $cb &"
	.ascii	"& $ob != -1} {\012\011\011\011set mid [string range"
	.ascii	" $pattern 0 $ob-1]\012\011\011\011set subexp [lassi"
	.ascii	"gn [glob.explode [string range $pattern $ob+1 end]]"
	.ascii	" pattern]\012\011\011\011if {$pattern eq \"\"} {\012"
	.ascii	"\011\011\011\011error \"unmatched open brace in glo"
	.ascii	"b pattern\"\012\011\011\011}\012\011\011\011set pat"
	.ascii	"tern [string range $pattern 1 end]\012\012\011\011\011"
	.ascii	"foreach subs $subexp {\012\011\011\011\011foreach s"
	.ascii	"ub [split $subs ,] {\012\011\011\011\011\011foreach"
	.ascii	" old $oldexp {\012\011\011\011\011\011\011lappend n"
	.ascii	"ewexp $old$mid$sub\012\011\011\011\011\011}\012\011"
	.ascii	"\011\011\011}\012\011\011\011}\012\011\011} elseif "
	.ascii	"{$cb != -1} {\012\011\011\011set suf  [string range"
	.ascii	" $pattern 0 $cb-1]\012\011\011\011set rest [string "
	.ascii	"range $pattern $cb end]\012\011\011\011break\012\011"
	.ascii	"\011} else {\012\011\011\011set suf  $pattern\012\011"
	.ascii	"\011\011set rest \"\"\012\011\011\011break\012\011\011"
	.ascii	"}\012\011}\012\012\011foreach old $oldexp {\012\011"
	.ascii	"\011lappend newexp $old$suf\012\011}\012\011list $r"
	.ascii	"est {*}$newexp\012}\012\012\012\012proc glob.glob {"
	.ascii	"base pattern} {\012\011set dir [file dirname $patte"
	.ascii	"rn]\012\011if {$pattern eq $dir || $pattern eq \"\""
	.ascii	"} {\012\011\011return [list [file join $base $dir] "
	.ascii	"$pattern]\012\011} elseif {$pattern eq [file tail $"
	.ascii	"pattern]} {\012\011\011set dir \"\"\012\011}\012\012"
	.ascii	"\012\011set dirlist [glob.glob $base $dir]\012\011s"
	.ascii	"et pattern [file tail $pattern]\012\012\012\011set "
	.ascii	"result {}\012\011foreach {realdir dir} $dirlist {\012"
	.ascii	"\011\011if {![file isdir $realdir]} {\012\011\011\011"
	.ascii	"continue\012\011\011}\012\011\011if {[string index "
	.ascii	"$dir end] ne \"/\" && $dir ne \"\"} {\012\011\011\011"
	.ascii	"append dir /\012\011\011}\012\011\011foreach name ["
	.ascii	"glob.globdir $realdir $pattern] {\012\011\011\011la"
	.ascii	"ppend result [file join $realdir $name] $dir$name\012"
	.ascii	"\011\011}\012\011}\012\011return $result\012}\012\012"
	.ascii	"\012\012\012\012\012\012\012\012\012\012\012proc gl"
	.ascii	"ob {args} {\012\011set nocomplain 0\012\011set base"
	.ascii	" \"\"\012\011set tails 0\012\012\011set n 0\012\011"
	.ascii	"foreach arg $args {\012\011\011if {[info exists par"
	.ascii	"am"
	.ascii	"]} {\012\011\011\011set $param $arg\012\011\011\011"
	.ascii	"unset param\012\011\011\011incr n\012\011\011\011co"
	.ascii	"ntinue\012\011\011}\012\011\011switch -glob -- $arg"
	.ascii	" {\012\011\011\011-d* {\012\011\011\011\011set swit"
	.ascii	"ch $arg\012\011\011\011\011set param base\012\011\011"
	.ascii	"\011}\012\011\011\011-n* {\012\011\011\011\011set n"
	.ascii	"ocomplain 1\012\011\011\011}\012\011\011\011-ta* {\012"
	.ascii	"\011\011\011\011set tails 1\012\011\011\011}\012\011"
	.ascii	"\011\011-- {\012\011\011\011\011incr n\012\011\011\011"
	.ascii	"\011break\012\011\011\011}\012\011\011\011-* {\012\011"
	.ascii	"\011\011\011return -code error \"bad option \\\"$ar"
	.ascii	"g\\\": must be -directory, -nocomplain, -tails, or "
	.ascii	"--\"\012\011\011\011}\012\011\011\011*  {\012\011\011"
	.ascii	"\011\011break\012\011\011\011}\012\011\011}\012\011"
	.ascii	"\011incr n\012\011}\012\011if {[info exists param]}"
	.ascii	" {\012\011\011return -code error \"missing argument"
	.ascii	" to \\\"$switch\\\"\"\012\011}\012\011if {[llength "
	.ascii	"$args] <= $n} {\012\011\011return -code error \"wro"
	.ascii	"ng # args: should be \\\"glob ?options? pattern ?pa"
	.ascii	"ttern ...?\\\"\"\012\011}\012\012\011set args [lran"
	.ascii	"ge $args $n end]\012\012\011set result {}\012\011fo"
	.ascii	"reach pattern $args {\012\011\011set escpattern [st"
	.ascii	"ring map {\012\011\011\011\\\\\\\\ \\x01 \\\\\\{ \\"
	.ascii	"x02 \\\\\\} \\x03 \\\\, \\x04\012\011\011} $pattern"
	.ascii	"]\012\011\011set patexps [lassign [glob.explode $es"
	.ascii	"cpattern] rest]\012\011\011if {$rest ne \"\"} {\012"
	.ascii	"\011\011\011return -code error \"unmatched close br"
	.ascii	"ace in glob pattern\"\012\011\011}\012\011\011forea"
	.ascii	"ch patexp $patexps {\012\011\011\011set patexp [str"
	.ascii	"ing map {\012\011\011\011\011\\x01 \\\\\\\\ \\x02 \\"
	.ascii	"{ \\x03 \\} \\x04 ,\012\011\011\011} $patexp]\012\011"
	.ascii	"\011\011foreach {realname name} [glob.glob $base $p"
	.ascii	"atexp] {\012\011\011\011\011incr n\012\011\011\011\011"
	.ascii	"if {$tails} {\012\011\011\011\011\011lappend result"
	.ascii	" $name\012\011\011\011\011} else {\012\011\011\011\011"
	.ascii	"\011lappend result [file join $base $name]\012\011\011"
	.ascii	"\011\011}\012\011\011\011}\012\011\011}\012\011}\012"
	.ascii	"\012\011if {!$nocomplain && [llength $result] == 0}"
	.ascii	" {\012\011\011set s $(([llength $args] > 1) ? \"s\""
	.ascii	" : \"\")\012\011\011return -code error \"no files m"
	.ascii	"atched glob pattern$s \\\"[join $args]\\\"\"\012\011"
	.ascii	"}\012\012\011return $result\012}\012\000"
	.align	2
.LC16:
	.ascii	"glob.tcl\000"
	.text
	.align	2
	.global	Jim_globInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_globInit, %function
Jim_globInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L14
	ldr	r1, .L14+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L12
	mov	r3, #1
	b	.L13
.L12:
	ldr	r3, .L14+8
	mov	r2, #1
	ldr	r1, .L14+12
	ldr	r0, [fp, #-8]
	bl	Jim_EvalSource
	mov	r3, r0
.L13:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L15:
	.align	2
.L14:
	.word	.LC7
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.size	Jim_globInit, .-Jim_globInit
	.section	.rodata
	.align	2
.LC17:
	.ascii	"stdlib\000"
	.align	2
.LC18:
	.ascii	"\012\012\012proc lambda {arglist args} {\012\011tai"
	.ascii	"lcall proc [ref {} function lambda.finalizer] $argl"
	.ascii	"ist {*}$args\012}\012\012proc lambda.finalizer {nam"
	.ascii	"e val} {\012\011rename $name {}\012}\012\012\012pro"
	.ascii	"c curry {args} {\012\011alias [ref {} function lamb"
	.ascii	"da.finalizer] {*}$args\012}\012\012\012\012\012\012"
	.ascii	"\012\012\012\012proc function {value} {\012\011retu"
	.ascii	"rn $value\012}\012\012\012\012\012proc stacktrace {"
	.ascii	"{skip 0}} {\012\011set trace {}\012\011incr skip\012"
	.ascii	"\011foreach level [range $skip [info level]] {\012\011"
	.ascii	"\011lappend trace {*}[info frame -$level]\012\011}\012"
	.ascii	"\011return $trace\012}\012\012\012proc stackdump {s"
	.ascii	"tacktrace} {\012\011set lines {}\012\011foreach {l "
	.ascii	"f p} [lreverse $stacktrace] {\012\011\011set line {"
	.ascii	"}\012\011\011if {$p ne \"\"} {\012\011\011\011appen"
	.ascii	"d line \"in procedure '$p' \"\012\011\011\011if {$f"
	.ascii	" ne \"\"} {\012\011\011\011\011append line \"called"
	.ascii	" \"\012\011\011\011}\012\011\011}\012\011\011if {$f"
	.ascii	" ne \"\"} {\012\011\011\011append line \"at file \\"
	.ascii	"\"$f\\\", line $l\"\012\011\011}\012\011\011if {$li"
	.ascii	"ne ne \"\"} {\012\011\011\011lappend lines $line\012"
	.ascii	"\011\011}\012\011}\012\011join $lines \\n\012}\012\012"
	.ascii	"\012\012proc errorInfo {msg {stacktrace \"\"}} {\012"
	.ascii	"\011if {$stacktrace eq \"\"} {\012\012\011\011set s"
	.ascii	"tacktrace [info stacktrace]\012\012\011\011lappend "
	.ascii	"stacktrace {*}[stacktrace 1]\012\011}\012\011lassig"
	.ascii	"n $stacktrace p f l\012\011if {$f ne \"\"} {\012\011"
	.ascii	"\011set result \"$f:$l: Error: \"\012\011}\012\011a"
	.ascii	"ppend result \"$msg\\n\"\012\011append result [stac"
	.ascii	"kdump $stacktrace]\012\012\012\011string trim $resu"
	.ascii	"lt\012}\012\012\012\012proc {info nameofexecutable}"
	.ascii	" {} {\012\011if {[exists ::jim::exe]} {\012\011\011"
	.ascii	"return $::jim::exe\012\011}\012}\012\012\012proc {d"
	.ascii	"ict with} {&dictVar {args key} script} {\012\011set"
	.ascii	" keys {}\012\011foreach {n v} [dict get $dictVar {*"
	.ascii	"}$key] {\012\011\011upvar $n var_$n\012\011\011set "
	.ascii	"var_$n $v\012\011\011lappend keys $n\012\011}\012\011"
	.ascii	"catch {uplevel 1 $script} msg opts\012\011if {[info"
	.ascii	" exists dictVar] && ([llength $key] == 0 || [dict e"
	.ascii	"xists $dictVar {*}$key])} {\012\011\011foreach n $k"
	.ascii	"eys {\012\011\011\011if {[info exists var_$n]} {\012"
	.ascii	"\011\011\011\011dict set dictVar {*}$key $n [set va"
	.ascii	"r_$n]\012\011\011\011} else {\012\011\011\011\011di"
	.ascii	"ct unset dictVar {*}$key $n\012\011\011\011}\012\011"
	.ascii	"\011}\012\011}\012\011return {*}$opts $msg\012}\012"
	.ascii	"\012\012proc {dict update} {&varName args script} {"
	.ascii	"\012\011set keys {}\012\011foreach {n v} $args {\012"
	.ascii	"\011\011upvar $v var_$v\012\011\011if {[dict exists"
	.ascii	" $varName $n]} {\012\011\011\011set var_$v [dict ge"
	.ascii	"t $varName $n]\012\011\011}\012\011}\012\011catch {"
	.ascii	"uplevel 1 $script} msg opts\012\011if {[info exists"
	.ascii	" varName]} {\012\011\011foreach {n v} $args {\012\011"
	.ascii	"\011\011if {[info exists var_$v]} {\012\011\011\011"
	.ascii	"\011dict set varName $n [set var_$v]\012\011\011\011"
	.ascii	"} els"
	.ascii	"e {\012\011\011\011\011dict unset varName $n\012\011"
	.ascii	"\011\011}\012\011\011}\012\011}\012\011return {*}$o"
	.ascii	"pts $msg\012}\012\012\012\012proc {dict merge} {dic"
	.ascii	"t args} {\012\011foreach d $args {\012\012\011\011d"
	.ascii	"ict size $d\012\011\011foreach {k v} $d {\012\011\011"
	.ascii	"\011dict set dict $k $v\012\011\011}\012\011}\012\011"
	.ascii	"return $dict\012}\012\012proc {dict replace} {dicti"
	.ascii	"onary {args {key value}}} {\012\011if {[llength ${k"
	.ascii	"ey value}] % 2} {\012\011\011tailcall {dict replace"
	.ascii	"}\012\011}\012\011tailcall dict merge $dictionary $"
	.ascii	"{key value}\012}\012\012\012proc {dict lappend} {va"
	.ascii	"rName key {args value}} {\012\011upvar $varName dic"
	.ascii	"t\012\011if {[exists dict] && [dict exists $dict $k"
	.ascii	"ey]} {\012\011\011set list [dict get $dict $key]\012"
	.ascii	"\011}\012\011lappend list {*}$value\012\011dict set"
	.ascii	" dict $key $list\012}\012\012\012proc {dict append}"
	.ascii	" {varName key {args value}} {\012\011upvar $varName"
	.ascii	" dict\012\011if {[exists dict] && [dict exists $dic"
	.ascii	"t $key]} {\012\011\011set str [dict get $dict $key]"
	.ascii	"\012\011}\012\011append str {*}$value\012\011dict s"
	.ascii	"et dict $key $str\012}\012\012\012proc {dict incr} "
	.ascii	"{varName key {increment 1}} {\012\011upvar $varName"
	.ascii	" dict\012\011if {[exists dict] && [dict exists $dic"
	.ascii	"t $key]} {\012\011\011set value [dict get $dict $ke"
	.ascii	"y]\012\011}\012\011incr value $increment\012\011dic"
	.ascii	"t set dict $key $value\012}\012\012\012proc {dict r"
	.ascii	"emove} {dictionary {args key}} {\012\011foreach k $"
	.ascii	"key {\012\011\011dict unset dictionary $k\012\011}\012"
	.ascii	"\011return $dictionary\012}\012\012\012proc {dict v"
	.ascii	"alues} {dictionary {pattern *}} {\012\011dict keys "
	.ascii	"[lreverse $dictionary] $pattern\012}\012\012\012pro"
	.ascii	"c {dict for} {vars dictionary script} {\012\011if {"
	.ascii	"[llength $vars] != 2} {\012\011\011return -code err"
	.ascii	"or \"must have exactly two variable names\"\012\011"
	.ascii	"}\012\011dict size $dictionary\012\011tailcall fore"
	.ascii	"ach $vars $dictionary $script\012}\012\000"
	.align	2
.LC19:
	.ascii	"stdlib.tcl\000"
	.text
	.align	2
	.global	Jim_stdlibInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_stdlibInit, %function
Jim_stdlibInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L19
	ldr	r1, .L19+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L17
	mov	r3, #1
	b	.L18
.L17:
	ldr	r3, .L19+8
	mov	r2, #1
	ldr	r1, .L19+12
	ldr	r0, [fp, #-8]
	bl	Jim_EvalSource
	mov	r3, r0
.L18:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L20:
	.align	2
.L19:
	.word	.LC7
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.size	Jim_stdlibInit, .-Jim_stdlibInit
	.section	.rodata
	.align	2
.LC20:
	.ascii	"tclcompat\000"
	.align	2
.LC21:
	.ascii	"\012\012\012\012\012\012\012\012set env [env]\012\012"
	.ascii	"\012if {[info commands stdout] ne \"\"} {\012\012\011"
	.ascii	"foreach p {gets flush close eof seek tell} {\012\011"
	.ascii	"\011proc $p {chan args} {p} {\012\011\011\011tailca"
	.ascii	"ll $chan $p {*}$args\012\011\011}\012\011}\012\011u"
	.ascii	"nset p\012\012\012\012\011proc puts {{-nonewline {}"
	.ascii	"} {chan stdout} msg} {\012\011\011if {${-nonewline}"
	.ascii	" ni {-nonewline {}}} {\012\011\011\011tailcall ${-n"
	.ascii	"onewline} puts $msg\012\011\011}\012\011\011tailcal"
	.ascii	"l $chan puts {*}${-nonewline} $msg\012\011}\012\012"
	.ascii	"\012\012\012\012\011proc read {{-nonewline {}} chan"
	.ascii	"} {\012\011\011if {${-nonewline} ni {-nonewline {}}"
	.ascii	"} {\012\011\011\011tailcall ${-nonewline} read {*}$"
	.ascii	"{chan}\012\011\011}\012\011\011tailcall $chan read "
	.ascii	"{*}${-nonewline}\012\011}\012\012\011proc fconfigur"
	.ascii	"e {f args} {\012\011\011foreach {n v} $args {\012\011"
	.ascii	"\011\011switch -glob -- $n {\012\011\011\011\011-bl"
	.ascii	"* {\012\011\011\011\011\011$f ndelay $(!$v)\012\011"
	.ascii	"\011\011\011}\012\011\011\011\011-bu* {\012\011\011"
	.ascii	"\011\011\011$f buffering $v\012\011\011\011\011}\012"
	.ascii	"\011\011\011\011-tr* {\012\012\011\011\011\011}\012"
	.ascii	"\011\011\011\011default {\012\011\011\011\011\011re"
	.ascii	"turn -code error \"fconfigure: unknown option $n\"\012"
	.ascii	"\011\011\011\011}\012\011\011\011}\012\011\011}\012"
	.ascii	"\011}\012}\012\012\012proc fileevent {args} {\012\011"
	.ascii	"tailcall {*}$args\012}\012\012\012\012\012proc parr"
	.ascii	"ay {arrayname {pattern *} {puts puts}} {\012\011upv"
	.ascii	"ar $arrayname a\012\012\011set max 0\012\011foreach"
	.ascii	" name [array names a $pattern]] {\012\011\011if {[s"
	.ascii	"tring length $name] > $max} {\012\011\011\011set ma"
	.ascii	"x [string length $name]\012\011\011}\012\011}\012\011"
	.ascii	"incr max [string length $arrayname]\012\011incr max"
	.ascii	" 2\012\011foreach name [lsort [array names a $patte"
	.ascii	"rn]] {\012\011\011$puts [format \"%-${max}s = %s\" "
	.ascii	"$arrayname\\($name\\) $a($name)]\012\011}\012}\012\012"
	.ascii	"\012proc {file copy} {{force {}} source target} {\012"
	.ascii	"\011try {\012\011\011if {$force ni {{} -force}} {\012"
	.ascii	"\011\011\011error \"bad option \\\"$force\\\": shou"
	.ascii	"ld be -force\"\012\011\011}\012\012\011\011set in ["
	.ascii	"open $source rb]\012\012\011\011if {[file exists $t"
	.ascii	"arget]} {\012\011\011\011if {$force eq \"\"} {\012\011"
	.ascii	"\011\011\011error \"error copying \\\"$source\\\" t"
	.ascii	"o \\\"$target\\\": file already exists\"\012\011\011"
	.ascii	"\011}\012\012\011\011\011if {$source eq $target} {\012"
	.ascii	"\011\011\011\011return\012\011\011\011}\012\012\012"
	.ascii	"\011\011\011file stat $source ss\012\011\011\011fil"
	.ascii	"e stat $target ts\012\011\011\011if {$ss(dev) == $t"
	.ascii	"s(dev) && $ss(ino) == $ts(ino) && $ss(ino)} {\012\011"
	.ascii	"\011\011\011return\012\011\011\011}\012\011\011}\012"
	.ascii	"\011\011set out [open $target wb]\012\011\011$in co"
	.ascii	"pyto $out\012\011\011$out close\012\011} on error {"
	.ascii	"msg opts} {\012\011\011incr opts(-level)\012\011\011"
	.ascii	"return {*}$opts $msg\012\011} finally {\012\011\011"
	.ascii	"catch {$in close}\012\011}\012}\012\012\012\012proc"
	.ascii	" popen {cmd {mode r}} {\012\011lassign [socket pipe"
	.ascii	"] r w\012\011try {\012\011\011if {[string match \"w"
	.ascii	"*\" $mode]} {\012\011\011\011lappend cmd <@$r &\012"
	.ascii	"\011\011\011set pids "
	.ascii	"[exec {*}$cmd]\012\011\011\011$r close\012\011\011\011"
	.ascii	"set f $w\012\011\011} else {\012\011\011\011lappend"
	.ascii	" cmd >@$w &\012\011\011\011set pids [exec {*}$cmd]\012"
	.ascii	"\011\011\011$w close\012\011\011\011set f $r\012\011"
	.ascii	"\011}\012\011\011lambda {cmd args} {f pids} {\012\011"
	.ascii	"\011\011if {$cmd eq \"pid\"} {\012\011\011\011\011r"
	.ascii	"eturn $pids\012\011\011\011}\012\011\011\011if {$cm"
	.ascii	"d eq \"close\"} {\012\011\011\011\011$f close\012\012"
	.ascii	"\011\011\011\011foreach p $pids { os.wait $p }\012\011"
	.ascii	"\011\011\011return\012\011\011\011}\012\011\011\011"
	.ascii	"tailcall $f $cmd {*}$args\012\011\011}\012\011} on "
	.ascii	"error {error opts} {\012\011\011$r close\012\011\011"
	.ascii	"$w close\012\011\011error $error\012\011}\012}\012\012"
	.ascii	"\012local proc pid {{channelId {}}} {\012\011if {$c"
	.ascii	"hannelId eq \"\"} {\012\011\011tailcall upcall pid\012"
	.ascii	"\011}\012\011if {[catch {$channelId tell}]} {\012\011"
	.ascii	"\011return -code error \"can not find channel named"
	.ascii	" \\\"$channelId\\\"\"\012\011}\012\011if {[catch {$"
	.ascii	"channelId pid} pids]} {\012\011\011return \"\"\012\011"
	.ascii	"}\012\011return $pids\012}\012\012\012\012\012\012\012"
	.ascii	"\012\012\012\012\012\012\012\012proc try {args} {\012"
	.ascii	"\011set catchopts {}\012\011while {[string match -*"
	.ascii	" [lindex $args 0]]} {\012\011\011set args [lassign "
	.ascii	"$args opt]\012\011\011if {$opt eq \"--\"} {\012\011"
	.ascii	"\011\011break\012\011\011}\012\011\011lappend catch"
	.ascii	"opts $opt\012\011}\012\011if {[llength $args] == 0}"
	.ascii	" {\012\011\011return -code error {wrong # args: sho"
	.ascii	"uld be \"try ?options? script ?argument ...?\"}\012"
	.ascii	"\011}\012\011set args [lassign $args script]\012\011"
	.ascii	"set code [catch -eval {*}$catchopts {uplevel 1 $scr"
	.ascii	"ipt} msg opts]\012\012\011set handled 0\012\012\011"
	.ascii	"foreach {on codes vars script} $args {\012\011\011s"
	.ascii	"witch -- $on \\\012\011\011\011on {\012\011\011\011"
	.ascii	"\011if {!$handled && ($codes eq \"*\" || [info retu"
	.ascii	"rncode $code] in $codes)} {\012\011\011\011\011\011"
	.ascii	"lassign $vars msgvar optsvar\012\011\011\011\011\011"
	.ascii	"if {$msgvar ne \"\"} {\012\011\011\011\011\011\011u"
	.ascii	"pvar $msgvar hmsg\012\011\011\011\011\011\011set hm"
	.ascii	"sg $msg\012\011\011\011\011\011}\012\011\011\011\011"
	.ascii	"\011if {$optsvar ne \"\"} {\012\011\011\011\011\011"
	.ascii	"\011upvar $optsvar hopts\012\011\011\011\011\011\011"
	.ascii	"set hopts $opts\012\011\011\011\011\011}\012\012\011"
	.ascii	"\011\011\011\011set code [catch {uplevel 1 $script}"
	.ascii	" msg opts]\012\011\011\011\011\011incr handled\012\011"
	.ascii	"\011\011\011}\012\011\011\011} \\\012\011\011\011fi"
	.ascii	"nally {\012\011\011\011\011set finalcode [catch {up"
	.ascii	"level 1 $codes} finalmsg finalopts]\012\011\011\011"
	.ascii	"\011if {$finalcode} {\012\012\011\011\011\011\011se"
	.ascii	"t code $finalcode\012\011\011\011\011\011set msg $f"
	.ascii	"inalmsg\012\011\011\011\011\011set opts $finalopts\012"
	.ascii	"\011\011\011\011}\012\011\011\011\011break\012\011\011"
	.ascii	"\011} \\\012\011\011\011default {\012\011\011\011\011"
	.ascii	"return -code error \"try: expected 'on' or 'finally"
	.ascii	"', got '$on'\"\012\011\011\011}\012\011}\012\012\011"
	.ascii	"if {$code} {\012\011\011incr opts(-level)\012\011\011"
	.ascii	"return {*}$opts $msg\012\011}\012\011return $msg\012"
	.ascii	"}\012\012\012\012proc throw {code {msg \"\"}} {\012"
	.ascii	"\011return -code $code $msg\012}\012\012\012proc {f"
	.ascii	"ile delete force} {path} {\012\011foreach e [readdi"
	.ascii	"r $path] {\012\011\011file delete -f"
	.ascii	"orce $path/$e\012\011}\012\011file delete $path\012"
	.ascii	"}\012\000"
	.align	2
.LC22:
	.ascii	"tclcompat.tcl\000"
	.text
	.align	2
	.global	Jim_tclcompatInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_tclcompatInit, %function
Jim_tclcompatInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L24
	ldr	r1, .L24+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L22
	mov	r3, #1
	b	.L23
.L22:
	ldr	r3, .L24+8
	mov	r2, #1
	ldr	r1, .L24+12
	ldr	r0, [fp, #-8]
	bl	Jim_EvalSource
	mov	r3, r0
.L23:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L25:
	.align	2
.L24:
	.word	.LC7
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.size	Jim_tclcompatInit, .-Jim_tclcompatInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stdio_writer, %function
stdio_writer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, #1
	ldr	r0, [fp, #-12]
	bl	fwrite
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stdio_writer, .-stdio_writer
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stdio_reader, %function
stdio_reader:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, #1
	ldr	r0, [fp, #-12]
	bl	fread
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stdio_reader, .-stdio_reader
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stdio_getline, %function
stdio_getline:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	fgets
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stdio_getline, .-stdio_getline
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stdio_error, %function
stdio_error:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	bne	.L33
	mov	r3, #0
	b	.L34
.L33:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	clearerr
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L35
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #11
	beq	.L35
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #4
	bne	.L36
.L35:
	mov	r3, #0
	b	.L34
.L36:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #104
	bne	.L37
	mov	r3, #0
	b	.L34
.L37:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #103
	beq	.L38
	mov	r3, #0
	b	.L34
.L38:
	mov	r3, #1
.L34:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stdio_error, .-stdio_error
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	stdio_strerror, %function
stdio_strerror:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	stdio_strerror, .-stdio_strerror
	.section	.rodata
	.align	2
	.type	stdio_fops, %object
	.size	stdio_fops, 24
stdio_fops:
	.word	stdio_writer
	.word	stdio_reader
	.word	stdio_getline
	.word	stdio_error
	.word	stdio_strerror
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAioErrorString, %function
JimAioErrorString:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #16]
	ldr	r0, [fp, #-8]
	blx	r3
	mov	r3, r0
	b	.L43
.L42:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
.L43:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAioErrorString, .-JimAioErrorString
	.section	.rodata
	.align	2
.LC23:
	.ascii	"%#s: %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAioSetError, %function
JimAioSetError:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L45
	ldr	r0, [fp, #-12]
	bl	JimAioErrorString
	mov	r3, r0
	ldr	r2, [fp, #-20]
	ldr	r1, .L49
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	b	.L48
.L45:
	ldr	r0, [fp, #-12]
	bl	JimAioErrorString
	mov	r3, r0
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L47
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L47:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L48:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L50:
	.align	2
.L49:
	.word	.LC23
	.size	JimAioSetError, .-JimAioSetError
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAioDelProc, %function
JimAioDelProc:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L52
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L52:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L53
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	fclose
.L53:
	ldr	r0, [fp, #-8]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAioDelProc, .-JimAioDelProc
	.section	.rodata
	.align	2
.LC24:
	.ascii	"-nonewline\000"
	.align	2
.LC25:
	.ascii	"invalid parameter: negative len\000"
	.align	2
.LC26:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_read, %function
aio_cmd_read:
	@ args = 0, pretend = 0, frame = 320
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #320
	str	r0, [fp, #-312]
	str	r1, [fp, #-316]
	str	r2, [fp, #-320]
	ldr	r3, .L74
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-312]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-288]
	mov	r3, #0
	str	r3, [fp, #-296]
	mvn	r3, #0
	str	r3, [fp, #-304]
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	beq	.L55
	ldr	r3, [fp, #-320]
	ldr	r3, [r3]
	ldr	r2, .L74+4
	mov	r1, r3
	ldr	r0, [fp, #-312]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L55
	mov	r3, #1
	str	r3, [fp, #-296]
	ldr	r3, [fp, #-320]
	add	r3, r3, #4
	str	r3, [fp, #-320]
	ldr	r3, [fp, #-316]
	sub	r3, r3, #1
	str	r3, [fp, #-316]
.L55:
	ldr	r3, [fp, #-316]
	cmp	r3, #1
	bne	.L56
	ldr	r3, [fp, #-320]
	ldr	r3, [r3]
	sub	r2, fp, #304
	mov	r1, r3
	ldr	r0, [fp, #-312]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L57
	mov	r3, #1
	b	.L71
.L57:
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	bge	.L59
	mvn	r2, #0
	ldr	r1, .L74+8
	ldr	r0, [fp, #-312]
	bl	Jim_NewStringObj
	str	r0, [fp, #-284]
	ldr	r3, [fp, #-284]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-284]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L60
	ldr	r3, [fp, #-312]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-312]
	bl	Jim_FreeObj
.L60:
	ldr	r3, [fp, #-312]
	ldr	r2, [fp, #-284]
	str	r2, [r3]
	mov	r3, #1
	b	.L71
.L56:
	ldr	r3, [fp, #-316]
	cmp	r3, #0
	beq	.L59
	mvn	r3, #0
	b	.L71
.L59:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-312]
	bl	Jim_NewStringObj
	str	r0, [fp, #-280]
	b	.L61
.L66:
	ldr	r3, [fp, #-304]
	cmn	r3, #1
	bne	.L62
	mov	r3, #256
	str	r3, [fp, #-292]
	b	.L63
.L62:
	ldr	r3, [fp, #-304]
	cmp	r3, #256
	movlt	r3, r3
	movge	r3, #256
	str	r3, [fp, #-292]
.L63:
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #4]
	sub	r1, fp, #264
	ldr	r2, [fp, #-292]
	ldr	r0, [fp, #-288]
	blx	r3
	str	r0, [fp, #-276]
	ldr	r3, [fp, #-276]
	cmp	r3, #0
	ble	.L64
	sub	r2, fp, #264
	ldr	r3, [fp, #-276]
	ldr	r1, [fp, #-280]
	ldr	r0, [fp, #-312]
	bl	Jim_AppendString
	ldr	r3, [fp, #-304]
	cmn	r3, #1
	beq	.L64
	ldr	r2, [fp, #-304]
	ldr	r3, [fp, #-276]
	sub	r3, r2, r3
	str	r3, [fp, #-304]
.L64:
	ldr	r2, [fp, #-276]
	ldr	r3, [fp, #-292]
	cmp	r2, r3
	bne	.L73
.L61:
	ldr	r3, [fp, #-304]
	cmp	r3, #0
	bne	.L66
	b	.L65
.L73:
	nop
.L65:
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-288]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L67
	ldr	r1, [fp, #-280]
	ldr	r0, [fp, #-312]
	bl	Jim_FreeObj
	mov	r3, #1
	b	.L71
.L67:
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	beq	.L68
	sub	r3, fp, #300
	mov	r1, r3
	ldr	r0, [fp, #-280]
	bl	Jim_GetString
	str	r0, [fp, #-272]
	ldr	r3, [fp, #-300]
	cmp	r3, #0
	ble	.L68
	ldr	r3, [fp, #-300]
	sub	r3, r3, #1
	ldr	r2, [fp, #-272]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L68
	ldr	r3, [fp, #-280]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-280]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-280]
	ldr	r3, [r3]
	ldr	r2, [fp, #-280]
	ldr	r2, [r2, #12]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
.L68:
	ldr	r3, [fp, #-280]
	str	r3, [fp, #-268]
	ldr	r3, [fp, #-268]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-268]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-312]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L70
	ldr	r3, [fp, #-312]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-312]
	bl	Jim_FreeObj
.L70:
	ldr	r3, [fp, #-312]
	ldr	r2, [fp, #-268]
	str	r2, [r3]
	mov	r3, #0
.L71:
	ldr	r2, .L74
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L72
	bl	__stack_chk_fail
.L72:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L75:
	.align	2
.L74:
	.word	.LC26
	.word	.LC24
	.word	.LC25
	.size	aio_cmd_read, .-aio_cmd_read
	.section	.rodata
	.align	2
.LC27:
	.ascii	"Not a filehandle: \"%#s\"\000"
	.text
	.align	2
	.global	Jim_AioFile
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AioFile, %function
Jim_AioFile:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r2, #1
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_GetCommand
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L77
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L77
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, .L79
	cmp	r3, r2
	bne	.L77
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	b	.L78
.L77:
	ldr	r2, [fp, #-20]
	ldr	r1, .L79+4
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #0
.L78:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L80:
	.align	2
.L79:
	.word	JimAioSubCmdProc
	.word	.LC27
	.size	Jim_AioFile, .-Jim_AioFile
	.align	2
	.global	Jim_AioFilehandle
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AioFilehandle, %function
Jim_AioFilehandle:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_AioFile
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L82
	mov	r3, #0
	b	.L83
.L82:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
.L83:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_AioFilehandle, .-Jim_AioFilehandle
	.section	.rodata
	.align	2
.LC28:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_copy, %function
aio_cmd_copy:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L101
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-24]
	mvn	r3, #-2147483648
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_AioFile
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L85
	mov	r3, #1
	b	.L97
.L85:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L88
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L88
	mov	r3, #1
	b	.L97
.L93:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #4]
	sub	r1, fp, #29
	mov	r2, #1
	ldr	r0, [fp, #-20]
	blx	r3
	mov	r3, r0
	cmp	r3, #1
	bne	.L99
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r3, [r3]
	sub	r1, fp, #29
	mov	r2, #1
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #1
	bne	.L100
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L88:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L93
	b	.L92
.L99:
	nop
	b	.L92
.L100:
	nop
.L92:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-20]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bne	.L94
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L95
.L94:
	mov	r3, #1
	b	.L97
.L95:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L96
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L96:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L97:
	ldr	r2, .L101
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L98
	bl	__stack_chk_fail
.L98:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L102:
	.align	2
.L101:
	.word	.LC28
	.size	aio_cmd_copy, .-aio_cmd_copy
	.section	.rodata
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_gets, %function
aio_cmd_gets:
	@ args = 0, pretend = 0, frame = 296
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #296
	str	r0, [fp, #-288]
	str	r1, [fp, #-292]
	str	r2, [fp, #-296]
	ldr	r3, .L120
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-288]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-280]
	bl	__errno_location
	mov	r3, r0
	mov	r2, #0
	str	r2, [r3]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-288]
	bl	Jim_NewStringObj
	str	r0, [fp, #-276]
.L107:
	mov	r3, #95
	strb	r3, [fp, #-9]
	ldr	r3, [fp, #-280]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #8]
	sub	r1, fp, #264
	mov	r2, #256
	ldr	r0, [fp, #-280]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L119
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L106
	ldrb	r3, [fp, #-10]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L106
	sub	r2, fp, #264
	mov	r3, #255
	ldr	r1, [fp, #-276]
	ldr	r0, [fp, #-288]
	bl	Jim_AppendString
	b	.L107
.L106:
	sub	r3, fp, #264
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-284]
	cmp	r3, #0
	beq	.L108
	ldr	r3, [fp, #-284]
	sub	r3, r3, #1
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r3, [r3, #-260]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L108
	ldr	r3, [fp, #-284]
	sub	r3, r3, #1
	str	r3, [fp, #-284]
.L108:
	sub	r2, fp, #264
	ldr	r3, [fp, #-284]
	ldr	r1, [fp, #-276]
	ldr	r0, [fp, #-288]
	bl	Jim_AppendString
	b	.L105
.L119:
	nop
.L105:
	ldr	r3, [fp, #-280]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-280]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	beq	.L109
	ldr	r1, [fp, #-276]
	ldr	r0, [fp, #-288]
	bl	Jim_FreeObj
	mov	r3, #1
	b	.L117
.L109:
	ldr	r3, [fp, #-292]
	cmp	r3, #0
	beq	.L111
	ldr	r3, [fp, #-296]
	ldr	r3, [r3]
	ldr	r2, [fp, #-276]
	mov	r1, r3
	ldr	r0, [fp, #-288]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L112
	ldr	r1, [fp, #-276]
	ldr	r0, [fp, #-288]
	bl	Jim_FreeObj
	mov	r3, #1
	b	.L117
.L112:
	ldr	r0, [fp, #-276]
	bl	Jim_Length
	str	r0, [fp, #-284]
	ldr	r3, [fp, #-284]
	cmp	r3, #0
	bne	.L113
	ldr	r3, [fp, #-280]
	ldr	r3, [r3]
	mov	r0, r3
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L113
	mvn	r3, #0
	str	r3, [fp, #-284]
.L113:
	ldr	r1, [fp, #-284]
	ldr	r0, [fp, #-288]
	bl	Jim_NewIntObj
	str	r0, [fp, #-268]
	ldr	r3, [fp, #-268]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-268]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-288]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L114
	ldr	r3, [fp, #-288]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-288]
	bl	Jim_FreeObj
.L114:
	ldr	r3, [fp, #-288]
	ldr	r2, [fp, #-268]
	str	r2, [r3]
	b	.L115
.L111:
	ldr	r3, [fp, #-276]
	str	r3, [fp, #-272]
	ldr	r3, [fp, #-272]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-272]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-288]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L116
	ldr	r3, [fp, #-288]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-288]
	bl	Jim_FreeObj
.L116:
	ldr	r3, [fp, #-288]
	ldr	r2, [fp, #-272]
	str	r2, [r3]
.L115:
	mov	r3, #0
.L117:
	ldr	r2, .L120
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L118
	bl	__stack_chk_fail
.L118:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L121:
	.align	2
.L120:
	.word	.LC29
	.size	aio_cmd_gets, .-aio_cmd_gets
	.section	.rodata
	.align	2
.LC30:
	.ascii	"\012\000"
	.align	2
.LC31:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_puts, %function
aio_cmd_puts:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L131
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bne	.L123
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, .L131+4
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	bne	.L124
	mvn	r3, #0
	b	.L129
.L124:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L126
.L123:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L126:
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L127
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	beq	.L128
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r3, [r3]
	mov	r2, #1
	ldr	r1, .L131+8
	ldr	r0, [fp, #-16]
	blx	r3
	mov	r3, r0
	cmp	r3, #1
	bne	.L127
.L128:
	mov	r3, #0
	b	.L129
.L127:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	JimAioSetError
	mov	r3, #1
.L129:
	ldr	r2, .L131
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L130
	bl	__stack_chk_fail
.L130:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L132:
	.align	2
.L131:
	.word	.LC31
	.word	.LC24
	.word	.LC30
	.size	aio_cmd_puts, .-aio_cmd_puts
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_isatty, %function
aio_cmd_isatty:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	fileno
	mov	r3, r0
	mov	r0, r3
	bl	isatty
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L134
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L134:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	aio_cmd_isatty, .-aio_cmd_isatty
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_flush, %function
aio_cmd_flush:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	mov	r3, r0
	cmn	r3, #1
	bne	.L137
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimAioSetError
	mov	r3, #1
	b	.L138
.L137:
	mov	r3, #0
.L138:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	aio_cmd_flush, .-aio_cmd_flush
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_eof, %function
aio_cmd_eof:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	feof
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L140
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L140:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	aio_cmd_eof, .-aio_cmd_eof
	.section	.rodata
	.align	2
.LC32:
	.ascii	"async close not supported\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_close, %function
aio_cmd_close:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L143
	mvn	r2, #0
	ldr	r1, .L146
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L144
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L144:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L145
.L143:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_DeleteCommand
	mov	r3, r0
.L145:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L147:
	.align	2
.L146:
	.word	.LC32
	.size	aio_cmd_close, .-aio_cmd_close
	.section	.rodata
	.align	2
.LC33:
	.ascii	"start\000"
	.align	2
.LC34:
	.ascii	"current\000"
	.align	2
.LC35:
	.ascii	"end\000"
	.align	2
.LC36:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_seek, %function
aio_cmd_seek:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L158
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L149
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L158+4
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L150
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L149
.L150:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L158+8
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L151
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L149
.L151:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L158+12
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L152
	mov	r3, #2
	str	r3, [fp, #-16]
	b	.L149
.L152:
	mvn	r3, #0
	b	.L156
.L149:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L154
	mov	r3, #1
	b	.L156
.L154:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	ldr	r2, [fp, #-16]
	mov	r0, r3
	bl	fseek
	mov	r3, r0
	cmn	r3, #1
	bne	.L155
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	JimAioSetError
	mov	r3, #1
	b	.L156
.L155:
	mov	r3, #0
.L156:
	ldr	r2, .L158
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L157
	bl	__stack_chk_fail
.L157:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L159:
	.align	2
.L158:
	.word	.LC36
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.size	aio_cmd_seek, .-aio_cmd_seek
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_tell, %function
aio_cmd_tell:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	ftell
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L161
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L161:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	aio_cmd_tell, .-aio_cmd_tell
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_filename, %function
aio_cmd_filename:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L164
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L164:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	aio_cmd_filename, .-aio_cmd_filename
	.section	.rodata
	.align	2
.LC37:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_ndelay, %function
aio_cmd_ndelay:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L174
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	mov	r1, #3
	mov	r0, r3
	bl	fcntl
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L167
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	sub	r2, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L168
	mov	r3, #1
	b	.L169
.L168:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L170
	ldr	r3, [fp, #-20]
	orr	r3, r3, #2048
	str	r3, [fp, #-20]
	b	.L171
.L170:
	ldr	r3, [fp, #-20]
	bic	r3, r3, #2048
	str	r3, [fp, #-20]
.L171:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-20]
	mov	r1, #4
	mov	r0, r3
	bl	fcntl
.L167:
	ldr	r3, [fp, #-20]
	asr	r3, r3, #11
	and	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_NewIntObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L172
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L172:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L169:
	ldr	r2, .L174
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L173
	bl	__stack_chk_fail
.L173:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L175:
	.align	2
.L174:
	.word	.LC37
	.size	aio_cmd_ndelay, .-aio_cmd_ndelay
	.section	.rodata
	.align	2
.LC38:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	aio_cmd_buffering, %function
aio_cmd_buffering:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L185
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	sub	r3, fp, #16
	mov	r2, #1
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L185+4
	ldr	r0, [fp, #-24]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L177
	mov	r3, #1
	b	.L183
.L177:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	beq	.L179
	cmp	r3, #2
	bgt	.L180
	cmp	r3, #0
	beq	.L181
	cmp	r3, #1
	beq	.L182
	b	.L180
.L181:
	ldr	r3, [fp, #-12]
	ldr	r0, [r3]
	mov	r3, #0
	mov	r2, #2
	mov	r1, #0
	bl	setvbuf
	b	.L180
.L182:
	ldr	r3, [fp, #-12]
	ldr	r0, [r3]
	mov	r3, #8192
	mov	r2, #1
	mov	r1, #0
	bl	setvbuf
	b	.L180
.L179:
	ldr	r3, [fp, #-12]
	ldr	r0, [r3]
	mov	r3, #8192
	mov	r2, #0
	mov	r1, #0
	bl	setvbuf
	nop
.L180:
	mov	r3, #0
.L183:
	ldr	r2, .L185
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L184
	bl	__stack_chk_fail
.L184:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L186:
	.align	2
.L185:
	.word	.LC38
	.word	options.7909
	.size	aio_cmd_buffering, .-aio_cmd_buffering
	.section	.rodata
	.align	2
.LC39:
	.ascii	"read\000"
	.align	2
.LC40:
	.ascii	"?-nonewline? ?len?\000"
	.align	2
.LC41:
	.ascii	"copyto\000"
	.align	2
.LC42:
	.ascii	"handle ?size?\000"
	.align	2
.LC43:
	.ascii	"gets\000"
	.align	2
.LC44:
	.ascii	"?var?\000"
	.align	2
.LC45:
	.ascii	"puts\000"
	.align	2
.LC46:
	.ascii	"?-nonewline? str\000"
	.align	2
.LC47:
	.ascii	"isatty\000"
	.align	2
.LC48:
	.ascii	"flush\000"
	.align	2
.LC49:
	.ascii	"eof\000"
	.align	2
.LC50:
	.ascii	"close\000"
	.align	2
.LC51:
	.ascii	"?r(ead)|w(rite)?\000"
	.align	2
.LC52:
	.ascii	"seek\000"
	.align	2
.LC53:
	.ascii	"offset ?start|current|end\000"
	.align	2
.LC54:
	.ascii	"tell\000"
	.align	2
.LC55:
	.ascii	"filename\000"
	.align	2
.LC56:
	.ascii	"ndelay\000"
	.align	2
.LC57:
	.ascii	"?0|1?\000"
	.align	2
.LC58:
	.ascii	"buffering\000"
	.align	2
.LC59:
	.ascii	"none|line|full\000"
	.align	2
	.type	aio_command_table, %object
	.size	aio_command_table, 280
aio_command_table:
	.word	.LC39
	.word	.LC40
	.word	aio_cmd_read
	.short	0
	.short	2
	.space	4
	.word	.LC41
	.word	.LC42
	.word	aio_cmd_copy
	.short	1
	.short	2
	.space	4
	.word	.LC43
	.word	.LC44
	.word	aio_cmd_gets
	.short	0
	.short	1
	.space	4
	.word	.LC45
	.word	.LC46
	.word	aio_cmd_puts
	.short	1
	.short	2
	.space	4
	.word	.LC47
	.word	0
	.word	aio_cmd_isatty
	.short	0
	.short	0
	.space	4
	.word	.LC48
	.word	0
	.word	aio_cmd_flush
	.short	0
	.short	0
	.space	4
	.word	.LC49
	.word	0
	.word	aio_cmd_eof
	.short	0
	.short	0
	.space	4
	.word	.LC50
	.word	.LC51
	.word	aio_cmd_close
	.short	0
	.short	1
	.short	2
	.space	2
	.word	.LC52
	.word	.LC53
	.word	aio_cmd_seek
	.short	1
	.short	2
	.space	4
	.word	.LC54
	.word	0
	.word	aio_cmd_tell
	.short	0
	.short	0
	.space	4
	.word	.LC55
	.word	0
	.word	aio_cmd_filename
	.short	0
	.short	0
	.space	4
	.word	.LC56
	.word	.LC57
	.word	aio_cmd_ndelay
	.short	0
	.short	1
	.space	4
	.word	.LC58
	.word	.LC59
	.word	aio_cmd_buffering
	.short	1
	.short	1
	.space	4
	.word	0
	.space	16
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAioSubCmdProc, %function
JimAioSubCmdProc:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, .L189
	ldr	r0, [fp, #-8]
	bl	Jim_ParseSubCmd
	mov	r1, r0
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_CallSubCmd
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L190:
	.align	2
.L189:
	.word	aio_command_table
	.size	JimAioSubCmdProc, .-JimAioSubCmdProc
	.section	.rodata
	.align	2
.LC60:
	.ascii	"filename ?mode?\000"
	.align	2
.LC61:
	.ascii	"r\000"
	.align	2
.LC62:
	.ascii	"::popen\000"
	.align	2
.LC63:
	.ascii	"aio.handle%ld\000"
	.align	2
.LC64:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAioOpenCommand, %function
JimAioOpenCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L198
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	beq	.L192
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	beq	.L192
	ldr	r3, .L198+4
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L193
.L192:
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	bne	.L194
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	b	.L195
.L194:
	ldr	r3, .L198+8
.L195:
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	bne	.L196
	mvn	r2, #0
	ldr	r1, .L198+12
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-16]
	mvn	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-12]
	sub	r3, fp, #20
	mov	r2, r3
	mov	r1, #3
	ldr	r0, [fp, #-32]
	bl	Jim_EvalObjVector
	mov	r3, r0
	b	.L193
.L196:
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, .L198+16
	str	r3, [sp]
	mov	r3, r2
	mvn	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	JimMakeChannel
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L193:
	ldr	r2, .L198
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L197
	bl	__stack_chk_fail
.L197:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L199:
	.align	2
.L198:
	.word	.LC64
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.size	JimAioOpenCommand, .-JimAioOpenCommand
	.section	.rodata
	.align	2
.LC65:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimMakeChannel, %function
JimMakeChannel:
	@ args = 12, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-76]
	ldr	r3, .L210
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	sub	r0, fp, #40
	ldr	r2, [fp, #-72]
	mov	r1, #32
	bl	snprintf
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L201
	mov	r3, #1
	str	r3, [fp, #-52]
.L201:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	sub	r0, fp, #40
	ldr	r2, [fp, #-72]
	mov	r1, #32
	bl	snprintf
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L202
	sub	r3, fp, #40
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-68]
.L202:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L203
	ldr	r0, [fp, #-68]
	bl	Jim_String
	mov	r3, r0
	ldr	r1, [fp, #-76]
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L203
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-56]
	bl	JimAioSetError
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-68]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L204
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L204:
	mov	r3, #0
	b	.L208
.L203:
	mov	r0, #44
	bl	Jim_Alloc
	str	r0, [fp, #-48]
	mov	r2, #44
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	memset
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-60]
	str	r2, [r3]
	ldr	r0, [fp, #-60]
	bl	fileno
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L206
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	mov	r2, #1
	mov	r1, #2
	mov	r0, r3
	bl	fcntl
.L206:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #8]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r2, .L210+4
	str	r2, [r3, #40]
	ldr	r3, [fp, #-48]
	mov	r2, #0
	str	r2, [r3, #36]
	sub	r1, fp, #40
	ldr	r3, .L210+8
	str	r3, [sp]
	ldr	r3, [fp, #-48]
	ldr	r2, .L210+12
	ldr	r0, [fp, #-56]
	bl	Jim_CreateCommand
	sub	r3, fp, #40
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_MakeGlobalNamespaceName
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L207
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L207:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
.L208:
	ldr	r2, .L210
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L209
	bl	__stack_chk_fail
.L209:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L211:
	.align	2
.L210:
	.word	.LC65
	.word	stdio_fops
	.word	JimAioDelProc
	.word	JimAioSubCmdProc
	.size	JimMakeChannel, .-JimMakeChannel
	.section	.rodata
	.align	2
.LC66:
	.ascii	"TMPDIR\000"
	.align	2
.LC67:
	.ascii	"/tmp/\000"
	.align	2
.LC68:
	.ascii	"/\000"
	.align	2
.LC69:
	.ascii	"tcl.tmp.XXXXXX\000"
	.text
	.align	2
	.global	Jim_MakeTempFile
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_MakeTempFile, %function
Jim_MakeTempFile:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L213
	ldr	r0, .L221
	bl	getenv
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L214
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L214
	mov	r1, #2
	ldr	r0, [fp, #-20]
	bl	access
	mov	r3, r0
	cmp	r3, #0
	beq	.L215
.L214:
	ldr	r3, .L221+4
	str	r3, [fp, #-20]
.L215:
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L216
	ldr	r0, [fp, #-20]
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L216
	mov	r3, #1
	ldr	r2, .L221+8
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_AppendString
.L216:
	mvn	r3, #0
	ldr	r2, .L221+12
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_AppendString
	b	.L217
.L213:
	mvn	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-24]
.L217:
	mov	r0, #127
	bl	umask
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	mkstemp
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	umask
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L218
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	JimAioSetError
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
	mvn	r3, #0
	b	.L219
.L218:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L220
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L220:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
.L219:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L222:
	.align	2
.L221:
	.word	.LC66
	.word	.LC67
	.word	.LC68
	.word	.LC69
	.size	Jim_MakeTempFile, .-Jim_MakeTempFile
	.section	.rodata
	.align	2
.LC70:
	.ascii	"aio\000"
	.align	2
.LC71:
	.ascii	"open\000"
	.align	2
.LC72:
	.ascii	"stdin\000"
	.align	2
.LC73:
	.ascii	"w\000"
	.align	2
.LC74:
	.ascii	"stdout\000"
	.align	2
.LC75:
	.ascii	"stderr\000"
	.text
	.align	2
	.global	Jim_aioInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_aioInit, %function
Jim_aioInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L226
	ldr	r1, .L226+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L224
	mov	r3, #1
	b	.L225
.L224:
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L226+8
	ldr	r1, .L226+12
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	ldr	r3, .L226+16
	ldr	r1, [r3]
	ldr	r3, .L226+20
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, .L226+24
	str	r3, [sp]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-8]
	bl	JimMakeChannel
	ldr	r3, .L226+28
	ldr	r1, [r3]
	ldr	r3, .L226+32
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, .L226+36
	str	r3, [sp]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-8]
	bl	JimMakeChannel
	ldr	r3, .L226+40
	ldr	r1, [r3]
	ldr	r3, .L226+32
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, .L226+44
	str	r3, [sp]
	mov	r3, #0
	mvn	r2, #0
	ldr	r0, [fp, #-8]
	bl	JimMakeChannel
	mov	r3, #0
.L225:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L227:
	.align	2
.L226:
	.word	.LC7
	.word	.LC70
	.word	JimAioOpenCommand
	.word	.LC71
	.word	stdin
	.word	.LC61
	.word	.LC72
	.word	stdout
	.word	.LC73
	.word	.LC74
	.word	stderr
	.word	.LC75
	.size	Jim_aioInit, .-Jim_aioInit
	.section	.rodata
	.align	2
.LC76:
	.ascii	"-nocomplain\000"
	.align	2
.LC77:
	.ascii	"?-nocomplain? dirPath\000"
	.text
	.align	2
	.global	Jim_ReaddirCmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ReaddirCmd, %function
Jim_ReaddirCmd:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	bne	.L229
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L240
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L229
	mov	r3, #1
	str	r3, [fp, #-32]
.L229:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	beq	.L230
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L230
	ldr	r3, .L240+4
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L231
.L230:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	opendir
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L232
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L233
	mov	r3, #0
	b	.L231
.L233:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L234
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L234:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L231
.L232:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	Jim_NewListObj
	str	r0, [fp, #-20]
	b	.L235
.L238:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #11]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L236
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L237
	b	.L235
.L237:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #12]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L236
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #13]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L236
	b	.L235
.L236:
	ldr	r3, [fp, #-16]
	add	r3, r3, #11
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_ListAppendElement
.L235:
	ldr	r0, [fp, #-24]
	bl	readdir
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L238
	ldr	r0, [fp, #-24]
	bl	closedir
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L239
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L239:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L231:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L241:
	.align	2
.L240:
	.word	.LC76
	.word	.LC77
	.size	Jim_ReaddirCmd, .-Jim_ReaddirCmd
	.section	.rodata
	.align	2
.LC78:
	.ascii	"readdir\000"
	.text
	.align	2
	.global	Jim_readdirInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_readdirInit, %function
Jim_readdirInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L245
	ldr	r1, .L245+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L243
	mov	r3, #1
	b	.L244
.L243:
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L245+8
	ldr	r1, .L245+4
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
.L244:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L246:
	.align	2
.L245:
	.word	.LC7
	.word	.LC78
	.word	Jim_ReaddirCmd
	.size	Jim_readdirInit, .-Jim_readdirInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeRegexpInternalRep, %function
FreeRegexpInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	regfree
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeRegexpInternalRep, .-FreeRegexpInternalRep
	.section	.rodata
	.align	2
.LC79:
	.ascii	"regexp\000"
	.align	2
	.type	regexpObjType, %object
	.size	regexpObjType, 20
regexpObjType:
	.word	.LC79
	.word	FreeRegexpInternalRep
	.word	0
	.word	0
	.word	0
	.align	2
.LC80:
	.ascii	"couldn't compile regular expression pattern: %s\000"
	.align	2
.LC81:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetRegexpFromAny, %function
SetRegexpFromAny:
	@ args = 0, pretend = 0, frame = 136
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #136
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	str	r2, [fp, #-136]
	ldr	r3, .L254
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #4]
	ldr	r2, .L254+4
	cmp	r3, r2
	bne	.L249
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L249
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-136]
	cmp	r2, r3
	bne	.L249
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #16]
	b	.L250
.L249:
	ldr	r0, [fp, #-132]
	bl	Jim_String
	str	r0, [fp, #-120]
	mov	r0, #68
	bl	Jim_Alloc
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-136]
	mov	r2, r3
	ldr	r1, [fp, #-120]
	ldr	r0, [fp, #-116]
	bl	regcomp
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	beq	.L251
	sub	r2, fp, #108
	mov	r3, #100
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	regerror
	sub	r3, fp, #108
	mov	r2, r3
	ldr	r1, .L254+8
	ldr	r0, [fp, #-128]
	bl	Jim_SetResultFormatted
	ldr	r0, [fp, #-116]
	bl	regfree
	ldr	r0, [fp, #-116]
	bl	Jim_Free
	mov	r3, #0
	b	.L250
.L251:
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L252
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L252
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-128]
	blx	r3
.L252:
	ldr	r3, [fp, #-132]
	ldr	r2, .L254+4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-136]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-116]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-116]
.L250:
	ldr	r2, .L254
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L253
	bl	__stack_chk_fail
.L253:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L255:
	.align	2
.L254:
	.word	.LC81
	.word	regexpObjType
	.word	.LC80
	.size	SetRegexpFromAny, .-SetRegexpFromAny
	.section	.rodata
	.align	2
.LC82:
	.ascii	"?-switch ...? exp string ?matchVar? ?subMatchVar .."
	.ascii	".?\000"
	.align	2
.LC83:
	.ascii	"switch\000"
	.align	2
.LC84:
	.ascii	"regexp match variables not allowed when using -inli"
	.ascii	"ne\000"
	.align	2
.LC85:
	.ascii	"error while matching pattern: %s\000"
	.align	2
.LC86:
	.ascii	"\000"
	.align	2
.LC87:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_RegexpCmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RegexpCmd, %function
Jim_RegexpCmd:
	@ args = 0, pretend = 0, frame = 224
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #232
	str	r0, [fp, #-216]
	str	r1, [fp, #-220]
	str	r2, [fp, #-224]
	ldr	r3, .L320
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-196]
	mov	r3, #0
	str	r3, [fp, #-192]
	mov	r3, #0
	str	r3, [fp, #-188]
	mov	r3, #0
	str	r3, [fp, #-208]
	mov	r3, #0
	str	r3, [fp, #-176]
	mov	r3, #0
	str	r3, [fp, #-172]
	mov	r3, #0
	str	r3, [fp, #-164]
	mov	r3, #0
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-152]
	mov	r3, #0
	str	r3, [fp, #-148]
	ldr	r3, [fp, #-220]
	cmp	r3, #2
	bgt	.L257
	nop
	b	.L258
.L313:
	nop
	b	.L258
.L315:
	nop
.L258:
	ldr	r3, .L320+4
	ldr	r2, [fp, #-224]
	mov	r1, #1
	ldr	r0, [fp, #-216]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L310
.L257:
	mov	r3, #1
	str	r3, [fp, #-184]
	b	.L260
.L275:
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L312
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #200
	mov	r2, #3
	str	r2, [sp, #4]
	ldr	r2, .L320+8
	str	r2, [sp]
	ldr	r2, .L320+12
	ldr	r0, [fp, #-216]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L263
	mov	r3, #1
	b	.L310
.L263:
	ldr	r3, [fp, #-200]
	cmp	r3, #6
	bne	.L264
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	b	.L262
.L264:
	ldr	r3, [fp, #-200]
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L265
.L267:
	.word	.L272
	.word	.L271
	.word	.L270
	.word	.L269
	.word	.L268
	.word	.L266
.L272:
	mov	r3, #1
	str	r3, [fp, #-196]
	b	.L265
.L271:
	ldr	r3, [fp, #-152]
	orr	r3, r3, #2
	str	r3, [fp, #-152]
	b	.L265
.L270:
	ldr	r3, [fp, #-152]
	orr	r3, r3, #1
	str	r3, [fp, #-152]
	b	.L265
.L269:
	mov	r3, #1
	str	r3, [fp, #-192]
	b	.L265
.L268:
	mov	r3, #1
	str	r3, [fp, #-188]
	b	.L265
.L266:
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-220]
	cmp	r2, r3
	beq	.L313
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #208
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L314
	mov	r3, #1
	b	.L310
.L314:
	nop
.L265:
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
.L260:
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-220]
	cmp	r2, r3
	blt	.L275
	b	.L262
.L312:
	nop
.L262:
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-184]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L315
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-152]
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	SetRegexpFromAny
	str	r0, [fp, #-136]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	bne	.L277
	mov	r3, #1
	b	.L310
.L277:
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #204
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-168]
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-184]
	sub	r3, r2, r3
	sub	r3, r3, #2
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L278
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L279
	mvn	r2, #0
	ldr	r1, .L320+16
	ldr	r0, [fp, #-216]
	bl	Jim_NewStringObj
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-128]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L280
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_FreeObj
.L280:
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-172]
	b	.L281
.L279:
	ldr	r3, [fp, #-136]
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-160]
.L278:
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	lsl	r3, r3, #3
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-176]
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	beq	.L282
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	bge	.L283
	ldr	r3, [fp, #-204]
	add	r2, r3, #1
	ldr	r3, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-208]
.L283:
	ldr	r2, [fp, #-208]
	ldr	r3, [fp, #-204]
	cmp	r2, r3
	ble	.L284
	ldr	r3, [fp, #-204]
	mov	r2, r3
	ldr	r3, [fp, #-168]
	add	r3, r3, r2
	str	r3, [fp, #-168]
	b	.L285
.L284:
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	ble	.L285
	ldr	r3, [fp, #-208]
	mov	r2, r3
	ldr	r3, [fp, #-168]
	add	r3, r3, r2
	str	r3, [fp, #-168]
.L285:
	ldr	r3, [fp, #-148]
	orr	r3, r3, #16
	str	r3, [fp, #-148]
.L282:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L316
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-216]
	bl	Jim_NewListObj
	str	r0, [fp, #-156]
	b	.L305
.L316:
	nop
.L286:
.L305:
	ldr	r3, [fp, #-160]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-148]
	str	r3, [sp]
	ldr	r3, [fp, #-176]
	ldr	r1, [fp, #-168]
	ldr	r0, [fp, #-136]
	bl	regexec
	str	r0, [fp, #-124]
	ldr	r3, [fp, #-124]
	cmp	r3, #1
	ble	.L287
	sub	r2, fp, #108
	mov	r3, #100
	ldr	r1, [fp, #-136]
	ldr	r0, [fp, #-124]
	bl	regerror
	sub	r3, fp, #108
	mov	r2, r3
	ldr	r1, .L320+20
	ldr	r0, [fp, #-216]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	str	r3, [fp, #-172]
	b	.L281
.L287:
	ldr	r3, [fp, #-124]
	cmp	r3, #1
	beq	.L317
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	beq	.L289
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L318
.L289:
	mov	r3, #0
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-184]
	add	r3, r3, #2
	str	r3, [fp, #-184]
	b	.L291
.L301:
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L292
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-216]
	bl	Jim_NewListObj
	str	r0, [fp, #-144]
	b	.L293
.L292:
	mov	r2, #0
	ldr	r1, .L320+24
	ldr	r0, [fp, #-216]
	bl	Jim_NewStringObj
	str	r0, [fp, #-144]
.L293:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmn	r3, #1
	bne	.L294
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L295
	mvn	r1, #0
	ldr	r0, [fp, #-216]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-216]
	bl	Jim_ListAppendElement
	mvn	r1, #0
	ldr	r0, [fp, #-216]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-216]
	bl	Jim_ListAppendElement
	b	.L295
.L294:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #3
	ldr	r1, [fp, #-176]
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r2, r3
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L296
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-216]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-208]
	add	r2, r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r2, r3
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-216]
	bl	Jim_ListAppendElement
	b	.L295
.L296:
	ldr	r3, [fp, #-180]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-176]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-168]
	add	r2, r3, r2
	ldr	r3, [fp, #-120]
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-216]
	bl	Jim_AppendString
.L295:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L297
	ldr	r2, [fp, #-144]
	ldr	r1, [fp, #-156]
	ldr	r0, [fp, #-216]
	bl	Jim_ListAppendElement
	b	.L298
.L297:
	ldr	r3, [fp, #-184]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-224]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-144]
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_SetVariable
	str	r0, [fp, #-172]
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L298
	ldr	r1, [fp, #-144]
	ldr	r0, [fp, #-216]
	bl	Jim_FreeObj
	b	.L290
.L298:
	ldr	r3, [fp, #-184]
	add	r3, r3, #1
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-180]
	add	r3, r3, #1
	str	r3, [fp, #-180]
.L291:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L299
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-160]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	b	.L300
.L299:
	ldr	r2, [fp, #-184]
	ldr	r3, [fp, #-220]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
.L300:
	cmp	r3, #0
	bne	.L301
	b	.L290
.L318:
	nop
.L290:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	beq	.L319
	ldr	r3, [fp, #-132]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #94
	bne	.L302
	ldr	r3, [fp, #-152]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L319
.L302:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L319
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L303
	ldr	r3, [fp, #-176]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-208]
	add	r3, r2, r3
	str	r3, [fp, #-208]
	ldr	r3, [fp, #-176]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r3, [fp, #-168]
	add	r3, r3, r2
	str	r3, [fp, #-168]
	b	.L304
.L303:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-208]
.L304:
	ldr	r3, [fp, #-168]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L319
	mov	r3, #16
	str	r3, [fp, #-148]
	b	.L305
.L317:
	nop
	b	.L281
.L319:
	nop
.L281:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	bne	.L306
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	beq	.L307
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-112]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L308
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_FreeObj
.L308:
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	b	.L306
.L307:
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-216]
	bl	Jim_NewIntObj
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L309
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-216]
	bl	Jim_FreeObj
.L309:
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-116]
	str	r2, [r3]
.L306:
	ldr	r0, [fp, #-176]
	bl	Jim_Free
	ldr	r3, [fp, #-172]
.L310:
	ldr	r2, .L320
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L311
	bl	__stack_chk_fail
.L311:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L321:
	.align	2
.L320:
	.word	.LC87
	.word	.LC82
	.word	.LC83
	.word	options.8133
	.word	.LC84
	.word	.LC85
	.word	.LC86
	.size	Jim_RegexpCmd, .-Jim_RegexpCmd
	.section	.rodata
	.align	2
.LC88:
	.ascii	"?-switch ...? exp string subSpec ?varName?\000"
	.align	2
.LC89:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_RegsubCmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RegsubCmd, %function
Jim_RegsubCmd:
	@ args = 0, pretend = 0, frame = 632
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #640
	str	r0, [fp, #-624]
	str	r1, [fp, #-628]
	str	r2, [fp, #-632]
	ldr	r3, .L375
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-600]
	mov	r3, #0
	str	r3, [fp, #-596]
	mov	r3, #0
	str	r3, [fp, #-592]
	mov	r3, #0
	str	r3, [fp, #-616]
	mov	r3, #0
	str	r3, [fp, #-580]
	ldr	r3, [fp, #-628]
	cmp	r3, #3
	bgt	.L323
	nop
	b	.L324
.L370:
	nop
	b	.L324
.L372:
	nop
.L324:
	ldr	r3, .L375+4
	ldr	r2, [fp, #-632]
	mov	r1, #1
	ldr	r0, [fp, #-624]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L367
.L323:
	mov	r3, #1
	str	r3, [fp, #-576]
	b	.L326
.L339:
	ldr	r3, [fp, #-576]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-560]
	ldr	r3, [fp, #-560]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L369
	ldr	r3, [fp, #-576]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #604
	mov	r2, #3
	str	r2, [sp, #4]
	ldr	r2, .L375+8
	str	r2, [sp]
	ldr	r2, .L375+12
	ldr	r0, [fp, #-624]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L329
	mov	r3, #1
	b	.L367
.L329:
	ldr	r3, [fp, #-604]
	cmp	r3, #4
	bne	.L330
	ldr	r3, [fp, #-576]
	add	r3, r3, #1
	str	r3, [fp, #-576]
	b	.L328
.L330:
	ldr	r3, [fp, #-604]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L331
.L333:
	.word	.L336
	.word	.L335
	.word	.L334
	.word	.L332
.L336:
	ldr	r3, [fp, #-600]
	orr	r3, r3, #2
	str	r3, [fp, #-600]
	b	.L331
.L335:
	ldr	r3, [fp, #-600]
	orr	r3, r3, #1
	str	r3, [fp, #-600]
	b	.L331
.L334:
	mov	r3, #1
	str	r3, [fp, #-592]
	b	.L331
.L332:
	ldr	r3, [fp, #-576]
	add	r3, r3, #1
	str	r3, [fp, #-576]
	ldr	r2, [fp, #-576]
	ldr	r3, [fp, #-628]
	cmp	r2, r3
	beq	.L370
	ldr	r3, [fp, #-576]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #616
	mov	r1, r3
	ldr	r0, [fp, #-624]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L371
	mov	r3, #1
	b	.L367
.L371:
	nop
.L331:
	ldr	r3, [fp, #-576]
	add	r3, r3, #1
	str	r3, [fp, #-576]
.L326:
	ldr	r2, [fp, #-576]
	ldr	r3, [fp, #-628]
	cmp	r2, r3
	blt	.L339
	b	.L328
.L369:
	nop
.L328:
	ldr	r2, [fp, #-628]
	ldr	r3, [fp, #-576]
	sub	r3, r2, r3
	cmp	r3, #3
	beq	.L340
	ldr	r2, [fp, #-628]
	ldr	r3, [fp, #-576]
	sub	r3, r2, r3
	cmp	r3, #4
	bne	.L372
.L340:
	ldr	r3, [fp, #-576]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-600]
	mov	r1, r3
	ldr	r0, [fp, #-624]
	bl	SetRegexpFromAny
	str	r0, [fp, #-556]
	ldr	r3, [fp, #-556]
	cmp	r3, #0
	bne	.L341
	mov	r3, #1
	b	.L367
.L341:
	ldr	r3, [fp, #-576]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-552]
	ldr	r3, [fp, #-576]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #612
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-548]
	ldr	r3, [fp, #-576]
	add	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #608
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-544]
	ldr	r3, [fp, #-576]
	add	r3, r3, #3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-632]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-540]
	mov	r2, #0
	ldr	r1, .L375+16
	ldr	r0, [fp, #-624]
	bl	Jim_NewStringObj
	str	r0, [fp, #-536]
	ldr	r3, [fp, #-616]
	cmp	r3, #0
	beq	.L342
	ldr	r3, [fp, #-616]
	cmp	r3, #0
	bge	.L343
	ldr	r3, [fp, #-612]
	add	r2, r3, #1
	ldr	r3, [fp, #-616]
	add	r3, r2, r3
	str	r3, [fp, #-616]
.L343:
	ldr	r2, [fp, #-616]
	ldr	r3, [fp, #-612]
	cmp	r2, r3
	ble	.L344
	ldr	r3, [fp, #-612]
	str	r3, [fp, #-616]
	b	.L342
.L344:
	ldr	r3, [fp, #-616]
	cmp	r3, #0
	bge	.L342
	mov	r3, #0
	str	r3, [fp, #-616]
.L342:
	ldr	r3, [fp, #-616]
	ldr	r2, [fp, #-548]
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	ldr	r2, [fp, #-612]
	ldr	r3, [fp, #-616]
	sub	r3, r2, r3
	str	r3, [fp, #-568]
	ldr	r3, [fp, #-616]
	mov	r2, r3
	ldr	r3, [fp, #-548]
	add	r3, r3, r2
	str	r3, [fp, #-588]
.L361:
	sub	r2, fp, #516
	ldr	r3, [fp, #-596]
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #50
	ldr	r1, [fp, #-588]
	ldr	r0, [fp, #-556]
	bl	regexec
	str	r0, [fp, #-532]
	ldr	r3, [fp, #-532]
	cmp	r3, #1
	ble	.L345
	sub	r2, fp, #108
	mov	r3, #100
	ldr	r1, [fp, #-556]
	ldr	r0, [fp, #-532]
	bl	regerror
	sub	r3, fp, #108
	mov	r2, r3
	ldr	r1, .L375+20
	ldr	r0, [fp, #-624]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L367
.L345:
	ldr	r3, [fp, #-532]
	cmp	r3, #1
	beq	.L373
	ldr	r3, [fp, #-580]
	add	r3, r3, #1
	str	r3, [fp, #-580]
	ldr	r3, [fp, #-516]
	ldr	r2, [fp, #-588]
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	mov	r3, #0
	str	r3, [fp, #-572]
	b	.L348
.L358:
	ldr	r3, [fp, #-572]
	ldr	r2, [fp, #-544]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-528]
	ldr	r3, [fp, #-528]
	cmp	r3, #38
	bne	.L349
	mov	r3, #0
	str	r3, [fp, #-564]
	b	.L350
.L349:
	ldr	r3, [fp, #-528]
	cmp	r3, #92
	bne	.L351
	ldr	r3, [fp, #-608]
	ldr	r2, [fp, #-572]
	cmp	r2, r3
	bge	.L351
	ldr	r3, [fp, #-572]
	add	r3, r3, #1
	str	r3, [fp, #-572]
	ldr	r3, [fp, #-572]
	ldr	r2, [fp, #-544]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-528]
	ldr	r3, [fp, #-528]
	cmp	r3, #47
	ble	.L352
	ldr	r3, [fp, #-528]
	cmp	r3, #57
	bgt	.L352
	ldr	r3, [fp, #-528]
	sub	r3, r3, #48
	str	r3, [fp, #-564]
	b	.L350
.L352:
	ldr	r3, [fp, #-528]
	cmp	r3, #92
	beq	.L353
	ldr	r3, [fp, #-528]
	cmp	r3, #38
	bne	.L354
.L353:
	ldr	r3, [fp, #-572]
	ldr	r2, [fp, #-544]
	add	r2, r2, r3
	mov	r3, #1
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	b	.L355
.L354:
	ldr	r3, [fp, #-572]
	sub	r3, r3, #1
	ldr	r2, [fp, #-544]
	add	r1, r2, r3
	ldr	r3, [fp, #-608]
	ldr	r2, [fp, #-572]
	cmp	r2, r3
	bne	.L356
	mov	r3, #1
	b	.L357
.L356:
	mov	r3, #2
.L357:
	mov	r2, r1
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	b	.L355
.L351:
	ldr	r3, [fp, #-572]
	ldr	r2, [fp, #-544]
	add	r2, r2, r3
	mov	r3, #1
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	b	.L355
.L350:
	ldr	r3, [fp, #-564]
	cmp	r3, #49
	bgt	.L355
	ldr	r3, [fp, #-564]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-512]
	cmn	r3, #1
	beq	.L355
	ldr	r3, [fp, #-564]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-508]
	cmn	r3, #1
	beq	.L355
	ldr	r3, [fp, #-564]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-512]
	mov	r2, r3
	ldr	r3, [fp, #-588]
	add	r1, r3, r2
	ldr	r3, [fp, #-564]
	lsl	r3, r3, #3
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-508]
	ldr	r3, [fp, #-564]
	lsl	r3, r3, #3
	sub	r0, fp, #4
	add	r3, r0, r3
	ldr	r3, [r3, #-512]
	sub	r3, r2, r3
	mov	r2, r1
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
.L355:
	ldr	r3, [fp, #-572]
	add	r3, r3, #1
	str	r3, [fp, #-572]
.L348:
	ldr	r3, [fp, #-608]
	ldr	r2, [fp, #-572]
	cmp	r2, r3
	blt	.L358
	ldr	r3, [fp, #-512]
	mov	r2, r3
	ldr	r3, [fp, #-588]
	add	r3, r3, r2
	str	r3, [fp, #-588]
	ldr	r3, [fp, #-512]
	ldr	r2, [fp, #-568]
	sub	r3, r2, r3
	str	r3, [fp, #-568]
	ldr	r3, [fp, #-592]
	cmp	r3, #0
	beq	.L347
	ldr	r3, [fp, #-568]
	cmp	r3, #0
	beq	.L347
	ldr	r3, [fp, #-600]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L359
	ldr	r3, [fp, #-552]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #94
	beq	.L374
.L359:
	ldr	r3, [fp, #-552]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L360
	ldr	r3, [fp, #-568]
	cmp	r3, #0
	beq	.L360
	mov	r3, #1
	ldr	r2, [fp, #-588]
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	ldr	r3, [fp, #-588]
	add	r3, r3, #1
	str	r3, [fp, #-588]
	ldr	r3, [fp, #-568]
	sub	r3, r3, #1
	str	r3, [fp, #-568]
.L360:
	ldr	r3, [fp, #-596]
	orr	r3, r3, #16
	str	r3, [fp, #-596]
	ldr	r3, [fp, #-568]
	cmp	r3, #0
	bne	.L361
	b	.L347
.L373:
	nop
	b	.L347
.L374:
	nop
.L347:
	mvn	r3, #0
	ldr	r2, [fp, #-588]
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_AppendString
	ldr	r2, [fp, #-628]
	ldr	r3, [fp, #-576]
	sub	r3, r2, r3
	cmp	r3, #4
	bne	.L362
	ldr	r2, [fp, #-536]
	ldr	r1, [fp, #-540]
	ldr	r0, [fp, #-624]
	bl	Jim_SetVariable
	str	r0, [fp, #-584]
	ldr	r3, [fp, #-584]
	cmp	r3, #0
	bne	.L363
	ldr	r1, [fp, #-580]
	ldr	r0, [fp, #-624]
	bl	Jim_NewIntObj
	str	r0, [fp, #-520]
	ldr	r3, [fp, #-520]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-520]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-624]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L364
	ldr	r3, [fp, #-624]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-624]
	bl	Jim_FreeObj
.L364:
	ldr	r3, [fp, #-624]
	ldr	r2, [fp, #-520]
	str	r2, [r3]
	b	.L365
.L363:
	ldr	r1, [fp, #-536]
	ldr	r0, [fp, #-624]
	bl	Jim_FreeObj
	b	.L365
.L362:
	ldr	r3, [fp, #-536]
	str	r3, [fp, #-524]
	ldr	r3, [fp, #-524]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-524]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-624]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L366
	ldr	r3, [fp, #-624]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-624]
	bl	Jim_FreeObj
.L366:
	ldr	r3, [fp, #-624]
	ldr	r2, [fp, #-524]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-584]
.L365:
	ldr	r3, [fp, #-584]
.L367:
	ldr	r2, .L375
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L368
	bl	__stack_chk_fail
.L368:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L376:
	.align	2
.L375:
	.word	.LC89
	.word	.LC88
	.word	.LC83
	.word	options.8189
	.word	.LC86
	.word	.LC85
	.size	Jim_RegsubCmd, .-Jim_RegsubCmd
	.section	.rodata
	.align	2
.LC90:
	.ascii	"regsub\000"
	.text
	.align	2
	.global	Jim_regexpInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_regexpInit, %function
Jim_regexpInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L380
	ldr	r1, .L380+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L378
	mov	r3, #1
	b	.L379
.L378:
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L380+8
	ldr	r1, .L380+4
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L380+12
	ldr	r1, .L380+16
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
.L379:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L381:
	.align	2
.L380:
	.word	.LC7
	.word	.LC79
	.word	Jim_RegexpCmd
	.word	Jim_RegsubCmd
	.word	.LC90
	.size	Jim_regexpInit, .-Jim_regexpInit
	.section	.rodata
	.align	2
.LC91:
	.ascii	"file\000"
	.align	2
.LC92:
	.ascii	"directory\000"
	.align	2
.LC93:
	.ascii	"characterSpecial\000"
	.align	2
.LC94:
	.ascii	"blockSpecial\000"
	.align	2
.LC95:
	.ascii	"fifo\000"
	.align	2
.LC96:
	.ascii	"link\000"
	.align	2
.LC97:
	.ascii	"socket\000"
	.align	2
.LC98:
	.ascii	"unknown\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGetFileType, %function
JimGetFileType:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #32768
	bne	.L383
	ldr	r3, .L391
	b	.L384
.L383:
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #16384
	bne	.L385
	ldr	r3, .L391+4
	b	.L384
.L385:
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #8192
	bne	.L386
	ldr	r3, .L391+8
	b	.L384
.L386:
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #24576
	bne	.L387
	ldr	r3, .L391+12
	b	.L384
.L387:
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #4096
	bne	.L388
	ldr	r3, .L391+16
	b	.L384
.L388:
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #40960
	bne	.L389
	ldr	r3, .L391+20
	b	.L384
.L389:
	ldr	r3, [fp, #-8]
	and	r3, r3, #61440
	cmp	r3, #49152
	bne	.L390
	ldr	r3, .L391+24
	b	.L384
.L390:
	ldr	r3, .L391+28
.L384:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L392:
	.align	2
.L391:
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.size	JimGetFileType, .-JimGetFileType
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	AppendStatElement, %function
AppendStatElement:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mvn	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_ListAppendElement
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_ListAppendElement
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	AppendStatElement, .-AppendStatElement
	.section	.rodata
	.align	2
.LC99:
	.ascii	"dev\000"
	.align	2
.LC100:
	.ascii	"ino\000"
	.align	2
.LC101:
	.ascii	"mode\000"
	.align	2
.LC102:
	.ascii	"nlink\000"
	.align	2
.LC103:
	.ascii	"uid\000"
	.align	2
.LC104:
	.ascii	"gid\000"
	.align	2
.LC105:
	.ascii	"size\000"
	.align	2
.LC106:
	.ascii	"atime\000"
	.align	2
.LC107:
	.ascii	"mtime\000"
	.align	2
.LC108:
	.ascii	"ctime\000"
	.align	2
.LC109:
	.ascii	"type\000"
	.align	2
.LC110:
	.ascii	"can't set \"%#s(dev)\": variable isn't array\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	StoreStatData, %function
StoreStatData:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldmia	r3, {r2-r3}
	mov	r3, r2
	ldr	r2, .L401
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	ldr	r2, .L401+4
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	ldr	r2, .L401+8
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	ldr	r2, .L401+12
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r2, .L401+16
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r2, .L401+20
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	ldr	r2, .L401+24
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r2, .L401+28
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #64]
	ldr	r2, .L401+32
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #72]
	ldr	r2, .L401+36
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	AppendStatElement
	mvn	r2, #0
	ldr	r1, .L401+40
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	JimGetFileType
	mov	r3, r0
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L395
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L396
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_DictSize
	mov	r3, r0
	cmp	r3, #0
	bge	.L397
	ldr	r2, [fp, #-28]
	ldr	r1, .L401+44
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
	mov	r3, #1
	b	.L398
.L397:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L399
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-12]
.L399:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendList
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_DictSize
	ldr	r0, [fp, #-12]
	bl	Jim_InvalidateStringRep
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
.L396:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
.L395:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L400
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L400:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L398:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L402:
	.align	2
.L401:
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.size	StoreStatData, .-StoreStatData
	.section	.rodata
	.align	2
.LC111:
	.ascii	"..\000"
	.align	2
.LC112:
	.ascii	".\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_dirname, %function
file_cmd_dirname:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-28]
	mov	r1, #47
	ldr	r0, [fp, #-28]
	bl	strrchr
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L404
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L404
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L404
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L404
	mvn	r2, #0
	ldr	r1, .L413
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L405
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L405:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L406
.L404:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L407
	mvn	r2, #0
	ldr	r1, .L413+4
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L408
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L408:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L406
.L407:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L409
	mvn	r2, #0
	ldr	r1, .L413+8
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L410
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L410:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L406
.L409:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L411
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L411:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L406:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L414:
	.align	2
.L413:
	.word	.LC111
	.word	.LC112
	.word	.LC68
	.size	file_cmd_dirname, .-file_cmd_dirname
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_rootname, %function
file_cmd_rootname:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-24]
	mov	r1, #47
	ldr	r0, [fp, #-24]
	bl	strrchr
	str	r0, [fp, #-20]
	mov	r1, #46
	ldr	r0, [fp, #-24]
	bl	strrchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L416
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L417
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bls	.L417
.L416:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L418
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L418:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L419
.L417:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L420
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L420:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L419:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_rootname, .-file_cmd_rootname
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_extension, %function
file_cmd_extension:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-16]
	mov	r1, #47
	ldr	r0, [fp, #-16]
	bl	strrchr
	str	r0, [fp, #-12]
	mov	r1, #46
	ldr	r0, [fp, #-16]
	bl	strrchr
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L423
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L424
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L424
.L423:
	ldr	r3, .L427
	str	r3, [fp, #-20]
.L424:
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L425
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L425:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L428:
	.align	2
.L427:
	.word	.LC86
	.size	file_cmd_extension, .-file_cmd_extension
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_tail, %function
file_cmd_tail:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-20]
	mov	r1, #47
	ldr	r0, [fp, #-20]
	bl	strrchr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L430
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L431
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L431:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L432
.L430:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L433
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L433:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L432:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_tail, .-file_cmd_tail
	.section	.rodata
	.align	2
.LC113:
	.ascii	"Not implemented\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_normalize, %function
file_cmd_normalize:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mvn	r2, #0
	ldr	r1, .L438
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L436
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L436:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L439:
	.align	2
.L438:
	.word	.LC113
	.size	file_cmd_normalize, .-file_cmd_normalize
	.section	.rodata
	.align	2
.LC114:
	.ascii	"Path too long\000"
	.align	2
.LC115:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_join, %function
file_cmd_join:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L456
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L456+4
	bl	Jim_Alloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L441
.L452:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L442
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	b	.L443
.L442:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L443
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L444
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #2
	str	r3, [fp, #-36]
	b	.L443
.L444:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L443
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L455
.L443:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L446
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L446
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	str	r2, [fp, #-28]
	mov	r2, #47
	strb	r2, [r3]
.L446:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L447
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r2, r3, r2
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	cmp	r3, #1024
	blt	.L448
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	mvn	r2, #0
	ldr	r1, .L456+8
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L449
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L449:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L450
.L448:
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-28]
	bl	memcpy
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L447:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bls	.L445
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bne	.L445
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	strb	r2, [r3]
	b	.L445
.L455:
	nop
.L445:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L441:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L452
	ldr	r3, [fp, #-28]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObjNoAlloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L453
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L453:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L450:
	ldr	r2, .L456
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L454
	bl	__stack_chk_fail
.L454:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L457:
	.align	2
.L456:
	.word	.LC115
	.word	1025
	.word	.LC114
	.size	file_cmd_join, .-file_cmd_join
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_access, %function
file_access:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	Jim_String
	mov	r3, r0
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	access
	mov	r3, r0
	cmn	r3, #1
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L459
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L459:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_access, .-file_access
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_readable, %function
file_cmd_readable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	file_access
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_readable, .-file_cmd_readable
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_writable, %function
file_cmd_writable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	file_access
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_writable, .-file_cmd_writable
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_executable, %function
file_cmd_executable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	file_access
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_executable, .-file_cmd_executable
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_exists, %function
file_cmd_exists:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	file_access
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_exists, .-file_cmd_exists
	.section	.rodata
	.align	2
.LC116:
	.ascii	"-force\000"
	.align	2
.LC117:
	.ascii	"--\000"
	.align	2
.LC118:
	.ascii	"file delete force\000"
	.align	2
.LC119:
	.ascii	"couldn't delete file \"%s\": %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_delete, %function
file_cmd_delete:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L477
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_CompareStringImmediate
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L470
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L477+4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L472
.L470:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #4
	str	r3, [fp, #-24]
	b	.L472
.L476:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	unlink
	mov	r3, r0
	cmn	r3, #1
	bne	.L473
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #2
	beq	.L473
	ldr	r0, [fp, #-8]
	bl	rmdir
	mov	r3, r0
	cmn	r3, #1
	bne	.L473
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L474
	mvn	r2, #0
	ldr	r1, .L477+8
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	mov	r1, r0
	ldr	r3, [fp, #-24]
	mov	r2, #1
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObjPrefix
	mov	r3, r0
	cmp	r3, #0
	beq	.L473
.L474:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-8]
	ldr	r1, .L477+12
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L475
.L473:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
.L472:
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	str	r2, [fp, #-20]
	cmp	r3, #0
	bne	.L476
	mov	r3, #0
.L475:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L478:
	.align	2
.L477:
	.word	.LC116
	.word	.LC117
	.word	.LC118
	.word	.LC119
	.size	file_cmd_delete, .-file_cmd_delete
	.section	.rodata
	.align	2
.LC120:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	mkdir_all, %function
mkdir_all:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-112]
	ldr	r3, .L492
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-108]
	b	.L480
.L485:
	mov	r1, #47
	ldr	r0, [fp, #-112]
	bl	strrchr
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L490
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	beq	.L490
	ldr	r3, [fp, #-104]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r0, [fp, #-112]
	bl	mkdir_all
	mov	r3, r0
	cmp	r3, #0
	beq	.L481
	mvn	r3, #0
	b	.L482
.L481:
	ldr	r3, [fp, #-104]
	mov	r2, #47
	strb	r2, [r3]
	b	.L480
.L490:
	nop
.L480:
	ldr	r1, .L492+4
	ldr	r0, [fp, #-112]
	bl	mkdir
	mov	r3, r0
	cmp	r3, #0
	bne	.L483
	mov	r3, #0
	b	.L482
.L483:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #2
	bne	.L484
	ldr	r3, [fp, #-108]
	sub	r2, r3, #1
	str	r2, [fp, #-108]
	cmp	r3, #0
	bne	.L485
	b	.L486
.L484:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #17
	bne	.L491
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L488
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #16384
	bne	.L488
	mov	r3, #0
	b	.L482
.L488:
	bl	__errno_location
	mov	r3, r0
	mov	r2, #17
	str	r2, [r3]
.L491:
	nop
.L486:
	mvn	r3, #0
.L482:
	ldr	r2, .L492
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L489
	bl	__stack_chk_fail
.L489:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L493:
	.align	2
.L492:
	.word	.LC120
	.word	493
	.size	mkdir_all, .-mkdir_all
	.section	.rodata
	.align	2
.LC121:
	.ascii	"can't create directory \"%#s\": %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_mkdir, %function
file_cmd_mkdir:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	b	.L495
.L498:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r0, r3
	bl	Jim_StrDup
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	mkdir_all
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L496
	ldr	r3, [fp, #-32]
	ldr	r4, [r3]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r2, r4
	ldr	r1, .L499
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L497
.L496:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-32]
.L495:
	ldr	r3, [fp, #-28]
	sub	r2, r3, #1
	str	r2, [fp, #-28]
	cmp	r3, #0
	bne	.L498
	mov	r3, #0
.L497:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L500:
	.align	2
.L499:
	.word	.LC121
	.size	file_cmd_mkdir, .-file_cmd_mkdir
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_tempfile, %function
file_cmd_tempfile:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	ble	.L502
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	b	.L503
.L502:
	mov	r3, #0
.L503:
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_MakeTempFile
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L504
	mov	r3, #1
	b	.L505
.L504:
	ldr	r0, [fp, #-8]
	bl	close
	mov	r3, #0
.L505:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	file_cmd_tempfile, .-file_cmd_tempfile
	.section	.rodata
	.align	2
.LC122:
	.ascii	"error renaming \"%#s\" to \"%#s\": target exists\000"
	.align	2
.LC123:
	.ascii	"error renaming \"%#s\" to \"%#s\": %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_rename, %function
file_cmd_rename:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	bne	.L507
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, .L512
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	bne	.L508
	mvn	r3, #0
	b	.L509
.L508:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
.L507:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L510
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	access
	mov	r3, r0
	cmp	r3, #0
	bne	.L510
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L512+4
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L509
.L510:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	rename
	mov	r3, r0
	cmp	r3, #0
	beq	.L511
	ldr	r3, [fp, #-40]
	ldr	r4, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r5, [r3]
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	str	r3, [sp]
	mov	r3, r5
	mov	r2, r4
	ldr	r1, .L512+8
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L509
.L511:
	mov	r3, #0
.L509:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L513:
	.align	2
.L512:
	.word	.LC116
	.word	.LC122
	.word	.LC123
	.size	file_cmd_rename, .-file_cmd_rename
	.section	.rodata
	.align	2
.LC124:
	.ascii	"could not read \"%#s\": %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_stat, %function
file_stat:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	stat
	mov	r3, r0
	cmn	r3, #1
	bne	.L515
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-20]
	ldr	r1, .L517
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L516
.L515:
	mov	r3, #0
.L516:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L518:
	.align	2
.L517:
	.word	.LC124
	.size	file_stat, .-file_stat
	.section	.rodata
	.align	2
.LC125:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_atime, %function
file_cmd_atime:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L525
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L520
	mov	r3, #1
	b	.L523
.L520:
	ldr	r3, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_NewIntObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L522
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L522:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	mov	r3, #0
.L523:
	ldr	r2, .L525
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L524
	bl	__stack_chk_fail
.L524:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L526:
	.align	2
.L525:
	.word	.LC125
	.size	file_cmd_atime, .-file_cmd_atime
	.section	.rodata
	.align	2
.LC126:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_mtime, %function
file_cmd_mtime:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L535
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-116]
	cmp	r3, #2
	bne	.L528
	mvn	r2, #0
	ldr	r1, .L535+4
	ldr	r0, [fp, #-112]
	bl	Jim_NewStringObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L529
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L529:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	mov	r3, #1
	b	.L533
.L528:
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L531
	mov	r3, #1
	b	.L533
.L531:
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_NewIntObj
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-108]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L532
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L532:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	mov	r3, #0
.L533:
	ldr	r2, .L535
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L534
	bl	__stack_chk_fail
.L534:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L536:
	.align	2
.L535:
	.word	.LC126
	.word	.LC113
	.size	file_cmd_mtime, .-file_cmd_mtime
	.section	.rodata
	.align	2
.LC127:
	.ascii	"file copy\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_copy, %function
file_cmd_copy:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mvn	r2, #0
	ldr	r1, .L539
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r1, r0
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_EvalObjPrefix
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L540:
	.align	2
.L539:
	.word	.LC127
	.size	file_cmd_copy, .-file_cmd_copy
	.section	.rodata
	.align	2
.LC128:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_size, %function
file_cmd_size:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L547
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L542
	mov	r3, #1
	b	.L545
.L542:
	ldr	r3, [fp, #-56]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_NewIntObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L544
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L544:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	mov	r3, #0
.L545:
	ldr	r2, .L547
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L546
	bl	__stack_chk_fail
.L546:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L548:
	.align	2
.L547:
	.word	.LC128
	.size	file_cmd_size, .-file_cmd_size
	.section	.rodata
	.align	2
.LC129:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_isdirectory, %function
file_cmd_isdirectory:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L554
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L550
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #16384
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-108]
.L550:
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-112]
	bl	Jim_NewIntObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L551
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L551:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	mov	r3, #0
	ldr	r2, .L554
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L553
	bl	__stack_chk_fail
.L553:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L555:
	.align	2
.L554:
	.word	.LC129
	.size	file_cmd_isdirectory, .-file_cmd_isdirectory
	.section	.rodata
	.align	2
.LC130:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_isfile, %function
file_cmd_isfile:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L561
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L557
	ldr	r3, [fp, #-84]
	and	r3, r3, #61440
	cmp	r3, #32768
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-108]
.L557:
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-112]
	bl	Jim_NewIntObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L558
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L558:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	mov	r3, #0
	ldr	r2, .L561
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L560
	bl	__stack_chk_fail
.L560:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L562:
	.align	2
.L561:
	.word	.LC130
	.size	file_cmd_isfile, .-file_cmd_isfile
	.section	.rodata
	.align	2
.LC131:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_type, %function
file_cmd_type:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L569
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-120]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L564
	mov	r3, #1
	b	.L567
.L564:
	ldr	r3, [fp, #-84]
	mov	r0, r3
	bl	JimGetFileType
	mov	r3, r0
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_NewStringObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L566
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L566:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	mov	r3, #0
.L567:
	ldr	r2, .L569
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L568
	bl	__stack_chk_fail
.L568:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L570:
	.align	2
.L569:
	.word	.LC131
	.size	file_cmd_type, .-file_cmd_type
	.section	.rodata
	.align	2
.LC132:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	file_cmd_stat, %function
file_cmd_stat:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	ldr	r3, .L578
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	file_stat
	mov	r3, r0
	cmp	r3, #0
	beq	.L572
	mov	r3, #1
	b	.L576
.L572:
	ldr	r3, [fp, #-108]
	cmp	r3, #2
	bne	.L574
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #4]
	b	.L575
.L574:
	mov	r3, #0
.L575:
	sub	r2, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	StoreStatData
	mov	r3, r0
.L576:
	ldr	r2, .L578
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L577
	bl	__stack_chk_fail
.L577:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L579:
	.align	2
.L578:
	.word	.LC132
	.size	file_cmd_stat, .-file_cmd_stat
	.section	.rodata
	.align	2
.LC133:
	.ascii	"name\000"
	.align	2
.LC134:
	.ascii	"name ?time?\000"
	.align	2
.LC135:
	.ascii	"copy\000"
	.align	2
.LC136:
	.ascii	"?-force? source dest\000"
	.align	2
.LC137:
	.ascii	"dirname\000"
	.align	2
.LC138:
	.ascii	"rootname\000"
	.align	2
.LC139:
	.ascii	"extension\000"
	.align	2
.LC140:
	.ascii	"tail\000"
	.align	2
.LC141:
	.ascii	"normalize\000"
	.align	2
.LC142:
	.ascii	"join\000"
	.align	2
.LC143:
	.ascii	"name ?name ...?\000"
	.align	2
.LC144:
	.ascii	"readable\000"
	.align	2
.LC145:
	.ascii	"writable\000"
	.align	2
.LC146:
	.ascii	"executable\000"
	.align	2
.LC147:
	.ascii	"exists\000"
	.align	2
.LC148:
	.ascii	"delete\000"
	.align	2
.LC149:
	.ascii	"?-force|--? name ...\000"
	.align	2
.LC150:
	.ascii	"mkdir\000"
	.align	2
.LC151:
	.ascii	"dir ...\000"
	.align	2
.LC152:
	.ascii	"tempfile\000"
	.align	2
.LC153:
	.ascii	"?template?\000"
	.align	2
.LC154:
	.ascii	"rename\000"
	.align	2
.LC155:
	.ascii	"stat\000"
	.align	2
.LC156:
	.ascii	"name ?var?\000"
	.align	2
.LC157:
	.ascii	"lstat\000"
	.align	2
.LC158:
	.ascii	"isdirectory\000"
	.align	2
.LC159:
	.ascii	"isfile\000"
	.align	2
	.type	file_command_table, %object
	.size	file_command_table, 480
file_command_table:
	.word	.LC106
	.word	.LC133
	.word	file_cmd_atime
	.short	1
	.short	1
	.space	4
	.word	.LC107
	.word	.LC134
	.word	file_cmd_mtime
	.short	1
	.short	2
	.space	4
	.word	.LC135
	.word	.LC136
	.word	file_cmd_copy
	.short	2
	.short	3
	.space	4
	.word	.LC137
	.word	.LC133
	.word	file_cmd_dirname
	.short	1
	.short	1
	.space	4
	.word	.LC138
	.word	.LC133
	.word	file_cmd_rootname
	.short	1
	.short	1
	.space	4
	.word	.LC139
	.word	.LC133
	.word	file_cmd_extension
	.short	1
	.short	1
	.space	4
	.word	.LC140
	.word	.LC133
	.word	file_cmd_tail
	.short	1
	.short	1
	.space	4
	.word	.LC141
	.word	.LC133
	.word	file_cmd_normalize
	.short	1
	.short	1
	.space	4
	.word	.LC142
	.word	.LC143
	.word	file_cmd_join
	.short	1
	.short	-1
	.space	4
	.word	.LC144
	.word	.LC133
	.word	file_cmd_readable
	.short	1
	.short	1
	.space	4
	.word	.LC145
	.word	.LC133
	.word	file_cmd_writable
	.short	1
	.short	1
	.space	4
	.word	.LC146
	.word	.LC133
	.word	file_cmd_executable
	.short	1
	.short	1
	.space	4
	.word	.LC147
	.word	.LC133
	.word	file_cmd_exists
	.short	1
	.short	1
	.space	4
	.word	.LC148
	.word	.LC149
	.word	file_cmd_delete
	.short	1
	.short	-1
	.space	4
	.word	.LC150
	.word	.LC151
	.word	file_cmd_mkdir
	.short	1
	.short	-1
	.space	4
	.word	.LC152
	.word	.LC153
	.word	file_cmd_tempfile
	.short	0
	.short	1
	.space	4
	.word	.LC154
	.word	.LC136
	.word	file_cmd_rename
	.short	2
	.short	3
	.space	4
	.word	.LC105
	.word	.LC133
	.word	file_cmd_size
	.short	1
	.short	1
	.space	4
	.word	.LC155
	.word	.LC156
	.word	file_cmd_stat
	.short	1
	.short	2
	.space	4
	.word	.LC157
	.word	.LC156
	.word	file_cmd_stat
	.short	1
	.short	2
	.space	4
	.word	.LC109
	.word	.LC133
	.word	file_cmd_type
	.short	1
	.short	1
	.space	4
	.word	.LC158
	.word	.LC133
	.word	file_cmd_isdirectory
	.short	1
	.short	1
	.space	4
	.word	.LC159
	.word	.LC133
	.word	file_cmd_isfile
	.short	1
	.short	1
	.space	4
	.word	0
	.space	16
	.align	2
.LC160:
	.ascii	"couldn't change working directory to \"%s\": %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CdCmd, %function
Jim_CdCmd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L581
	ldr	r3, .L584
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L582
.L581:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	chdir
	mov	r3, r0
	cmp	r3, #0
	beq	.L583
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-8]
	ldr	r1, .L584+4
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L582
.L583:
	mov	r3, #0
.L582:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L585:
	.align	2
.L584:
	.word	.LC137
	.word	.LC160
	.size	Jim_CdCmd, .-Jim_CdCmd
	.section	.rodata
	.align	2
.LC161:
	.ascii	"Failed to get pwd\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_PwdCmd, %function
Jim_PwdCmd:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r0, #1024
	bl	Jim_Alloc
	str	r0, [fp, #-16]
	mov	r1, #1024
	ldr	r0, [fp, #-16]
	bl	getcwd
	mov	r3, r0
	cmp	r3, #0
	bne	.L587
	mvn	r2, #0
	ldr	r1, .L591
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L588
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L588:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	mov	r3, #1
	b	.L589
.L587:
	mvn	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L590
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L590:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	mov	r3, #0
.L589:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L592:
	.align	2
.L591:
	.word	.LC161
	.size	Jim_PwdCmd, .-Jim_PwdCmd
	.section	.rodata
	.align	2
.LC162:
	.ascii	"pwd\000"
	.align	2
.LC163:
	.ascii	"cd\000"
	.text
	.align	2
	.global	Jim_fileInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_fileInit, %function
Jim_fileInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L596
	ldr	r1, .L596+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L594
	mov	r3, #1
	b	.L595
.L594:
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L596+8
	ldr	r2, .L596+12
	ldr	r1, .L596+4
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L596+16
	ldr	r1, .L596+20
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L596+24
	ldr	r1, .L596+28
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
.L595:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L597:
	.align	2
.L596:
	.word	.LC7
	.word	.LC91
	.word	file_command_table
	.word	Jim_SubCmdProc
	.word	Jim_PwdCmd
	.word	.LC162
	.word	Jim_CdCmd
	.word	.LC163
	.size	Jim_fileInit, .-Jim_fileInit
	.section	.rodata
	.align	2
.LC164:
	.ascii	"%s: %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetResultErrno, %function
Jim_SetResultErrno:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	bl	JimStrError
	mov	r3, r0
	ldr	r2, [fp, #-12]
	ldr	r1, .L599
	ldr	r0, [fp, #-8]
	bl	Jim_SetResultFormatted
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L600:
	.align	2
.L599:
	.word	.LC164
	.size	Jim_SetResultErrno, .-Jim_SetResultErrno
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStrError, %function
JimStrError:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	JimStrError, .-JimStrError
	.section	.rodata
	.align	2
.LC165:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RemoveTrailingNewline, %function
Jim_RemoveTrailingNewline:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L607
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L606
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L606
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #12]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
.L606:
	nop
	ldr	r3, .L607
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L605
	bl	__stack_chk_fail
.L605:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L608:
	.align	2
.L607:
	.word	.LC165
	.size	Jim_RemoveTrailingNewline, .-Jim_RemoveTrailingNewline
	.section	.rodata
	.align	2
.LC166:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAppendStreamToString, %function
JimAppendStreamToString:
	@ args = 0, pretend = 0, frame = 288
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #288
	str	r0, [fp, #-280]
	str	r1, [fp, #-284]
	str	r2, [fp, #-288]
	ldr	r3, .L619
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, .L619+4
	ldr	r0, [fp, #-284]
	bl	fdopen
	str	r0, [fp, #-272]
	mov	r3, #0
	str	r3, [fp, #-276]
	ldr	r3, [fp, #-272]
	cmp	r3, #0
	bne	.L610
	mvn	r3, #0
	b	.L615
.L610:
	sub	r0, fp, #264
	ldr	r3, [fp, #-272]
	mov	r2, #256
	mov	r1, #1
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-268]
	ldr	r3, [fp, #-268]
	cmp	r3, #0
	ble	.L612
	mov	r3, #1
	str	r3, [fp, #-276]
	sub	r2, fp, #264
	ldr	r3, [fp, #-268]
	ldr	r1, [fp, #-288]
	ldr	r0, [fp, #-280]
	bl	Jim_AppendString
.L612:
	ldr	r3, [fp, #-268]
	cmp	r3, #256
	bne	.L618
	b	.L610
.L618:
	nop
	ldr	r0, [fp, #-272]
	bl	fclose
	ldr	r3, [fp, #-276]
.L615:
	ldr	r2, .L619
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L616
	bl	__stack_chk_fail
.L616:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L620:
	.align	2
.L619:
	.word	.LC166
	.word	.LC61
	.size	JimAppendStreamToString, .-JimAppendStreamToString
	.section	.rodata
	.align	2
.LC167:
	.ascii	"env\000"
	.align	2
.LC168:
	.ascii	"%s=%s\000"
	.align	2
.LC169:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimBuildEnv, %function
JimBuildEnv:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	ldr	r3, .L628
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	ldr	r1, .L628+4
	ldr	r0, [fp, #-56]
	bl	Jim_GetGlobalVariableStr
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L622
	bl	Jim_GetEnviron
	mov	r3, r0
	b	.L623
.L622:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	Jim_ListLength
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L624
	ldr	r3, [fp, #-40]
	sub	r3, r3, #1
	str	r3, [fp, #-40]
.L624:
	ldr	r0, [fp, #-28]
	bl	Jim_Length
	mov	r3, r0
	add	r3, r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	add	r3, r3, #1
	lsl	r2, r3, #2
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-40]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L625
.L626:
	sub	r3, fp, #48
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	Jim_ListIndex
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r2, r3, #1
	sub	r3, fp, #48
	mov	r1, #0
	str	r1, [sp]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	Jim_ListIndex
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r1, .L628+8
	ldr	r0, [fp, #-32]
	bl	sprintf
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
.L625:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L626
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
.L623:
	ldr	r2, .L628
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L627
	bl	__stack_chk_fail
.L627:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L629:
	.align	2
.L628:
	.word	.LC169
	.word	.LC167
	.word	.LC168
	.size	JimBuildEnv, .-JimBuildEnv
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimFreeEnv, %function
JimFreeEnv:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L632
	ldr	r0, [fp, #-8]
	bl	Jim_Free
.L632:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimFreeEnv, .-JimFreeEnv
	.section	.rodata
	.align	2
.LC170:
	.ascii	"%d\000"
	.text
	.align	2
	.global	Jim_SignalId
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SignalId, %function
Jim_SignalId:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L635
	mov	r1, #10
	ldr	r0, .L635+4
	bl	snprintf
	ldr	r3, .L635+4
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L636:
	.align	2
.L635:
	.word	.LC170
	.word	buf.8930
	.size	Jim_SignalId, .-Jim_SignalId
	.align	2
	.global	Jim_SignalName
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SignalName, %function
Jim_SignalName:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	Jim_SignalId
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SignalName, .-Jim_SignalName
	.section	.rodata
	.align	2
.LC171:
	.ascii	"CHILDSTATUS\000"
	.align	2
.LC172:
	.ascii	"CHILDKILLED\000"
	.align	2
.LC173:
	.ascii	"killed\000"
	.align	2
.LC174:
	.ascii	"CHILDSUSP\000"
	.align	2
.LC175:
	.ascii	"suspended\000"
	.align	2
.LC176:
	.ascii	"child \000"
	.align	2
.LC177:
	.ascii	" by signal \000"
	.align	2
.LC178:
	.ascii	"errorCode\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCheckWaitStatus, %function
JimCheckWaitStatus:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	cmp	r3, #0
	bne	.L640
	ldr	r3, [fp, #-32]
	asr	r3, r3, #8
	and	r3, r3, #255
	cmp	r3, #0
	bne	.L640
	mov	r3, #0
	b	.L641
.L640:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	cmp	r3, #0
	bne	.L642
	mvn	r2, #0
	ldr	r1, .L647
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-32]
	asr	r3, r3, #8
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	b	.L643
.L642:
	ldr	r3, [fp, #-32]
	and	r3, r3, #255
	and	r3, r3, #127
	and	r3, r3, #255
	add	r3, r3, #1
	and	r3, r3, #255
	lsl	r3, r3, #24
	asr	r3, r3, #24
	asr	r3, r3, #1
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	ble	.L644
	ldr	r3, .L647+4
	str	r3, [fp, #-16]
	ldr	r3, .L647+8
	str	r3, [fp, #-12]
	b	.L645
.L644:
	ldr	r3, .L647+12
	str	r3, [fp, #-16]
	ldr	r3, .L647+16
	str	r3, [fp, #-12]
.L645:
	mvn	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L646
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	mov	r0, r3
	bl	Jim_SignalId
	mov	r3, r0
	mov	r2, #0
	str	r2, [sp, #12]
	ldr	r2, .L647+20
	str	r2, [sp, #8]
	str	r3, [sp, #4]
	ldr	r3, .L647+24
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, .L647+28
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendStrings
.L646:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	mov	r0, r3
	bl	Jim_SignalId
	mov	r3, r0
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-32]
	and	r3, r3, #127
	mov	r0, r3
	bl	Jim_SignalName
	mov	r3, r0
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
.L643:
	ldr	r2, [fp, #-8]
	ldr	r1, .L647+32
	ldr	r0, [fp, #-24]
	bl	Jim_SetGlobalVariableStr
	mov	r3, #1
.L641:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L648:
	.align	2
.L647:
	.word	.LC171
	.word	.LC172
	.word	.LC173
	.word	.LC174
	.word	.LC175
	.word	.LC30
	.word	.LC177
	.word	.LC176
	.word	.LC178
	.size	JimCheckWaitStatus, .-JimCheckWaitStatus
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimFreeWaitInfoTable, %function
JimFreeWaitInfoTable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
	ldr	r0, [fp, #-8]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimFreeWaitInfoTable, .-JimFreeWaitInfoTable
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAllocWaitInfoTable, %function
JimAllocWaitInfoTable:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #12
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAllocWaitInfoTable, .-JimAllocWaitInfoTable
	.section	.rodata
	.align	2
.LC179:
	.ascii	"&\000"
	.align	2
.LC180:
	.ascii	"error reading from output pipe\000"
	.align	2
.LC181:
	.ascii	"error reading from error pipe\000"
	.align	2
.LC182:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ExecCmd, %function
Jim_ExecCmd:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L669
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-68]
	cmp	r3, #1
	ble	.L653
	ldr	r3, [fp, #-68]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L669+4
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L653
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	sub	r1, r3, #1
	ldr	r3, [fp, #-72]
	add	r2, r3, #4
	sub	r3, fp, #52
	mov	r0, #0
	str	r0, [sp, #8]
	mov	r0, #0
	str	r0, [sp, #4]
	mov	r0, #0
	str	r0, [sp]
	ldr	r0, [fp, #-64]
	bl	JimCreatePipeline
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bge	.L654
	mov	r3, #1
	b	.L667
.L654:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-64]
	bl	Jim_NewListObj
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L656
.L657:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L656:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L657
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L658
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L658:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-64]
	bl	JimDetachPids
	ldr	r3, [fp, #-52]
	mov	r0, r3
	bl	Jim_Free
	mov	r3, #0
	b	.L667
.L653:
	ldr	r3, [fp, #-68]
	sub	r1, r3, #1
	ldr	r3, [fp, #-72]
	add	r2, r3, #4
	sub	r0, fp, #52
	sub	r3, fp, #56
	str	r3, [sp, #8]
	sub	r3, fp, #60
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-64]
	bl	JimCreatePipeline
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bge	.L659
	mov	r3, #1
	b	.L667
.L659:
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r2, #0
	ldr	r1, .L669+8
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-60]
	cmn	r3, #1
	beq	.L660
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	JimAppendStreamToString
	mov	r3, r0
	cmp	r3, #0
	bge	.L660
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r1, .L669+12
	ldr	r0, [fp, #-64]
	bl	Jim_SetResultErrno
.L660:
	mov	r2, #0
	ldr	r1, .L669+8
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-64]
	bl	JimCleanupChildren
	mov	r3, r0
	cmp	r3, #0
	beq	.L661
	mov	r3, #1
	str	r3, [fp, #-48]
.L661:
	ldr	r3, [fp, #-56]
	cmn	r3, #1
	beq	.L662
	ldr	r3, [fp, #-56]
	mov	r0, r3
	bl	JimRewindFd
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	JimAppendStreamToString
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L663
	ldr	r1, .L669+16
	ldr	r0, [fp, #-64]
	bl	Jim_SetResultErrno
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L662
.L663:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	ble	.L662
	mov	r3, #0
	str	r3, [fp, #-44]
.L662:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L664
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-64]
	bl	Jim_AppendObj
.L664:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L665
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L665:
	ldr	r0, [fp, #-24]
	bl	Jim_RemoveTrailingNewline
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L666
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L666:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
.L667:
	ldr	r2, .L669
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L668
	bl	__stack_chk_fail
.L668:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L670:
	.align	2
.L669:
	.word	.LC182
	.word	.LC179
	.word	.LC86
	.word	.LC180
	.word	.LC181
	.size	Jim_ExecCmd, .-Jim_ExecCmd
	.section	.rodata
	.align	2
.LC183:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimReapDetachedPids, %function
JimReapDetachedPids:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, .L682
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L681
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
	b	.L674
.L679:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L675
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r1, fp, #28
	mov	r2, #1
	mov	r0, r3
	bl	waitpid
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L675
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	b	.L677
.L675:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L678
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [fp, #-24]
	ldm	r2, {r0, r1, r2}
	stm	r3, {r0, r1, r2}
.L678:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L677:
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L674:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L679
	b	.L671
.L681:
	nop
.L671:
	ldr	r3, .L682
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L680
	bl	__stack_chk_fail
.L680:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L683:
	.align	2
.L682:
	.word	.LC183
	.size	JimReapDetachedPids, .-JimReapDetachedPids
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimWaitForProcess, %function
JimWaitForProcess:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L685
.L689:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L686
	mov	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	waitpid
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	beq	.L687
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	sub	r3, r3, #12
	add	r0, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r2, [fp, #-8]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, r0
	ldm	r2, {r0, r1, r2}
	stm	r3, {r0, r1, r2}
.L687:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	b	.L688
.L686:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L685:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L689
	mvn	r3, #0
.L688:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimWaitForProcess, .-JimWaitForProcess
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDetachPids, %function
JimDetachPids:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L691
.L696:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L692
.L695:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3]
	cmp	r1, r3
	bne	.L693
	ldr	r3, [fp, #-8]
	ldr	r1, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3]
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r0, r3
	orr	r2, r1, #2
	str	r2, [r3, #8]
	b	.L694
.L693:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L692:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L695
.L694:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L691:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L696
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimDetachPids, .-JimDetachPids
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGetAioFilehandle, %function
JimGetAioFilehandle:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_AioFilehandle
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L698
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L698:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimGetAioFilehandle, .-JimGetAioFilehandle
	.section	.rodata
	.align	2
.LC184:
	.ascii	"|\000"
	.align	2
.LC185:
	.ascii	"|&\000"
	.align	2
.LC186:
	.ascii	"illegal use of | or |& in command\000"
	.align	2
.LC187:
	.ascii	"can't specify \"%s\" as last word in command\000"
	.align	2
.LC188:
	.ascii	"didn't specify command to execute\000"
	.align	2
.LC189:
	.ascii	"couldn't read file \"%s\": %s\000"
	.align	2
.LC190:
	.ascii	"couldn't create input pipe for command\000"
	.align	2
.LC191:
	.ascii	"couldn't write file \"%s\": %s\000"
	.align	2
.LC192:
	.ascii	"couldn't create output pipe\000"
	.align	2
.LC193:
	.ascii	"1\000"
	.align	2
.LC194:
	.ascii	"couldn't create pipe\000"
	.align	2
.LC195:
	.ascii	"couldn't fork child process\000"
	.align	2
.LC196:
	.ascii	"couldn't exec \"%s\"\012\000"
	.align	2
.LC197:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreatePipeline, %function
JimCreatePipeline:
	@ args = 12, pretend = 0, frame = 176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #176
	str	r0, [fp, #-152]
	str	r1, [fp, #-156]
	str	r2, [fp, #-160]
	str	r3, [fp, #-164]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #8]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-176]
	ldr	r3, .L794
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-136]
	mov	r3, #0
	str	r3, [fp, #-128]
	mov	r3, #0
	str	r3, [fp, #-144]
	mov	r3, #0
	str	r3, [fp, #-124]
	mov	r3, #0
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-108]
	mvn	r3, #0
	str	r3, [fp, #-104]
	mvn	r3, #0
	str	r3, [fp, #-100]
	mvn	r3, #0
	str	r3, [fp, #-96]
	mvn	r3, #0
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-156]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	mov	r3, r0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r0, [fp, #-48]
	bl	JimReapDetachedPids
	ldr	r3, [fp, #-168]
	cmp	r3, #0
	beq	.L701
	ldr	r3, [fp, #-168]
	mvn	r2, #0
	str	r2, [r3]
.L701:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L702
	ldr	r3, [fp, #-172]
	mvn	r2, #0
	str	r2, [r3]
.L702:
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	beq	.L703
	ldr	r3, [fp, #-176]
	mvn	r2, #0
	str	r2, [r3]
.L703:
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-132]
	mvn	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L704
.L725:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #60
	bne	.L705
	mov	r3, #0
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #60
	bne	.L706
	mov	r3, #3
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	sub	r3, r3, #2
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
	b	.L707
.L706:
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L707
	mov	r3, #2
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-128]
	add	r3, r3, #1
	str	r3, [fp, #-128]
.L707:
	ldr	r3, [fp, #-128]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L708
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	bge	.L708
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #144
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	mov	r3, r0
	str	r3, [fp, #-128]
	b	.L708
.L705:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L709
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-112]
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L710
	mov	r3, #1
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L710:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	bne	.L711
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
	mov	r3, #1
	str	r3, [fp, #-60]
.L711:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L712
	mov	r3, #2
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L712:
	ldr	r3, [fp, #-112]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L713
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	bge	.L713
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	str	r3, [fp, #-112]
.L713:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L708
	ldr	r3, [fp, #-120]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-112]
	str	r3, [fp, #-108]
	b	.L708
.L709:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #50
	bne	.L714
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L714
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	str	r3, [fp, #-108]
	mov	r3, #0
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #64
	bne	.L715
	mov	r3, #2
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
	b	.L716
.L715:
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L716
	mov	r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L716:
	ldr	r3, [fp, #-108]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L788
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	bge	.L788
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	str	r3, [fp, #-108]
	b	.L788
.L714:
	ldr	r1, .L794+4
	ldr	r0, [fp, #-28]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L718
	ldr	r1, .L794+8
	ldr	r0, [fp, #-28]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L719
.L718:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	beq	.L720
	ldr	r3, [fp, #-156]
	sub	r3, r3, #1
	ldr	r2, [fp, #-76]
	cmp	r2, r3
	bne	.L721
.L720:
	mvn	r2, #0
	ldr	r1, .L794+12
	ldr	r0, [fp, #-152]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L722
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-152]
	bl	Jim_FreeObj
.L722:
	ldr	r3, [fp, #-152]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L723
.L721:
	ldr	r3, [fp, #-76]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-132]
	add	r3, r3, #1
	str	r3, [fp, #-132]
.L719:
	ldr	r3, [fp, #-64]
	add	r2, r3, #1
	str	r2, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	b	.L724
.L788:
	nop
.L708:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	blt	.L724
	ldr	r2, [fp, #-28]
	ldr	r1, .L794+16
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultFormatted
	b	.L723
.L724:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L704:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-156]
	cmp	r2, r3
	blt	.L725
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L726
	mvn	r2, #0
	ldr	r1, .L794+20
	ldr	r0, [fp, #-152]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L727
	ldr	r3, [fp, #-152]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-152]
	bl	Jim_FreeObj
.L727:
	ldr	r3, [fp, #-152]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
.L723:
	ldr	r0, [fp, #-68]
	bl	Jim_Free
	mvn	r3, #0
	b	.L785
.L726:
	ldr	r0, [fp, #-152]
	bl	JimBuildEnv
	mov	r3, r0
	mov	r0, r3
	bl	JimSaveEnv
	mov	r3, r0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-128]
	cmp	r3, #0
	beq	.L729
	ldr	r3, [fp, #-124]
	cmp	r3, #3
	bne	.L730
	ldr	r3, [fp, #-144]
	mov	r2, r3
	ldr	r1, [fp, #-128]
	ldr	r0, [fp, #-152]
	bl	JimCreateTemp
	mov	r3, r0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmn	r3, #1
	bne	.L731
	b	.L732
.L730:
	ldr	r3, [fp, #-124]
	cmp	r3, #2
	bne	.L733
	ldr	r1, [fp, #-128]
	ldr	r0, [fp, #-152]
	bl	JimGetAioFilehandle
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L789
	ldr	r0, [fp, #-44]
	bl	fileno
	mov	r3, r0
	mov	r0, r3
	bl	dup
	str	r0, [fp, #-104]
	b	.L731
.L733:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-128]
	bl	open
	mov	r3, r0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmn	r3, #1
	bne	.L731
	bl	JimStrError
	mov	r3, r0
	ldr	r2, [fp, #-128]
	ldr	r1, .L794+24
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultFormatted
	b	.L732
.L729:
	ldr	r3, [fp, #-168]
	cmp	r3, #0
	beq	.L731
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	beq	.L735
	ldr	r1, .L794+28
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultErrno
	b	.L732
.L735:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-104]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-168]
	str	r2, [r3]
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
.L731:
	ldr	r3, [fp, #-112]
	cmp	r3, #0
	beq	.L736
	ldr	r3, [fp, #-120]
	cmp	r3, #2
	bne	.L737
	ldr	r1, [fp, #-112]
	ldr	r0, [fp, #-152]
	bl	JimGetAioFilehandle
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L790
	ldr	r0, [fp, #-40]
	bl	fflush
	ldr	r0, [fp, #-40]
	bl	fileno
	mov	r3, r0
	mov	r0, r3
	bl	dup
	str	r0, [fp, #-92]
	b	.L739
.L737:
	ldr	r3, [fp, #-120]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	JimOpenForWrite
	mov	r3, r0
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmn	r3, #1
	bne	.L739
	bl	JimStrError
	mov	r3, r0
	ldr	r2, [fp, #-112]
	ldr	r1, .L794+32
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultFormatted
	b	.L732
.L736:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L739
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	beq	.L740
	ldr	r1, .L794+36
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultErrno
	b	.L732
.L740:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-92]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-172]
	str	r2, [r3]
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
.L739:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L741
	ldr	r3, [fp, #-116]
	cmp	r3, #2
	bne	.L742
	ldr	r1, .L794+40
	ldr	r0, [fp, #-108]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L743
	ldr	r3, [fp, #-92]
	cmn	r3, #1
	beq	.L744
	ldr	r0, [fp, #-92]
	bl	dup
	str	r0, [fp, #-96]
	b	.L743
.L744:
	ldr	r3, .L794+44
	str	r3, [fp, #-108]
.L743:
	ldr	r3, [fp, #-96]
	cmn	r3, #1
	bne	.L745
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-152]
	bl	JimGetAioFilehandle
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L791
	ldr	r0, [fp, #-36]
	bl	fflush
	ldr	r0, [fp, #-36]
	bl	fileno
	mov	r3, r0
	mov	r0, r3
	bl	dup
	str	r0, [fp, #-96]
	b	.L745
.L742:
	ldr	r3, [fp, #-116]
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-108]
	bl	JimOpenForWrite
	mov	r3, r0
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmn	r3, #1
	bne	.L745
	bl	JimStrError
	mov	r3, r0
	ldr	r2, [fp, #-108]
	ldr	r1, .L794+32
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultFormatted
	b	.L732
.L741:
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	beq	.L745
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-152]
	bl	JimCreateTemp
	mov	r3, r0
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	cmn	r3, #1
	beq	.L792
	ldr	r0, [fp, #-96]
	bl	dup
	mov	r2, r0
	ldr	r3, [fp, #-176]
	str	r2, [r3]
.L745:
	ldr	r3, [fp, #-132]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	mov	r3, r0
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L748
.L749:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L748:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L749
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L750
.L771:
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-84]
	b	.L751
.L755:
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	bne	.L752
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	bne	.L793
	mov	r3, #1
	str	r3, [fp, #-56]
	b	.L793
.L752:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L751:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	blt	.L755
	b	.L754
.L793:
	nop
.L754:
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	bne	.L756
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-100]
	b	.L757
.L756:
	sub	r3, fp, #16
	mov	r0, r3
	bl	pipe
	mov	r3, r0
	cmp	r3, #0
	beq	.L758
	ldr	r1, .L794+48
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultErrno
	b	.L732
.L758:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-100]
.L757:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L759
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-96]
.L759:
	bl	vfork
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L787
	ldr	r1, .L794+52
	ldr	r0, [fp, #-152]
	bl	Jim_SetResultErrno
	b	.L732
.L787:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L762
	ldr	r3, [fp, #-104]
	cmn	r3, #1
	beq	.L763
	mov	r1, #0
	ldr	r0, [fp, #-104]
	bl	dup2
.L763:
	ldr	r3, [fp, #-100]
	cmn	r3, #1
	beq	.L764
	mov	r1, #1
	ldr	r0, [fp, #-100]
	bl	dup2
.L764:
	ldr	r3, [fp, #-96]
	cmn	r3, #1
	beq	.L765
	mov	r1, #2
	ldr	r0, [fp, #-96]
	bl	dup2
.L765:
	mov	r3, #3
	str	r3, [fp, #-76]
	b	.L766
.L767:
	ldr	r0, [fp, #-76]
	bl	close
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L766:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	ble	.L767
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-104]
	cmp	r2, r3
	ble	.L767
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	ble	.L767
	mov	r1, #0
	mov	r0, #13
	bl	signal
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	mov	r1, r3
	bl	execvp
	ldr	r3, .L794+56
	ldr	r0, [r3]
	ldr	r3, [fp, #-88]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L794+60
	bl	fprintf
	mov	r0, #127
	bl	_exit
.L762:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L768
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	add	r2, r3, #4
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	Jim_Realloc
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3]
.L768:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #1
	add	r3, r3, r1
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-136]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-104]
	cmn	r3, #1
	beq	.L769
	ldr	r0, [fp, #-104]
	bl	close
.L769:
	ldr	r3, [fp, #-100]
	cmn	r3, #1
	beq	.L770
	ldr	r0, [fp, #-100]
	bl	close
.L770:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-104]
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-136]
	add	r3, r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-88]
.L750:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	blt	.L771
	ldr	r3, [fp, #-164]
	ldr	r2, [fp, #-140]
	str	r2, [r3]
.L772:
	ldr	r3, [fp, #-104]
	cmn	r3, #1
	beq	.L773
	ldr	r0, [fp, #-104]
	bl	close
.L773:
	ldr	r3, [fp, #-92]
	cmn	r3, #1
	beq	.L774
	ldr	r0, [fp, #-92]
	bl	close
.L774:
	ldr	r3, [fp, #-96]
	cmn	r3, #1
	beq	.L775
	ldr	r0, [fp, #-96]
	bl	close
.L775:
	ldr	r0, [fp, #-68]
	bl	Jim_Free
	ldr	r0, [fp, #-72]
	bl	JimRestoreEnv
	ldr	r3, [fp, #-136]
	b	.L785
.L789:
	nop
	b	.L732
.L790:
	nop
	b	.L732
.L791:
	nop
	b	.L732
.L792:
	nop
.L732:
	ldr	r3, [fp, #-168]
	cmp	r3, #0
	beq	.L776
	ldr	r3, [fp, #-168]
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L776
	ldr	r3, [fp, #-168]
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-168]
	mvn	r2, #0
	str	r2, [r3]
.L776:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L777
	ldr	r3, [fp, #-172]
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L777
	ldr	r3, [fp, #-172]
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-172]
	mvn	r2, #0
	str	r2, [r3]
.L777:
	ldr	r3, [fp, #-176]
	cmp	r3, #0
	beq	.L778
	ldr	r3, [fp, #-176]
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L778
	ldr	r3, [fp, #-176]
	ldr	r3, [r3]
	mov	r0, r3
	bl	close
	ldr	r3, [fp, #-176]
	mvn	r2, #0
	str	r2, [r3]
.L778:
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	beq	.L779
	ldr	r3, [fp, #-16]
	mov	r0, r3
	bl	close
.L779:
	ldr	r3, [fp, #-12]
	cmn	r3, #1
	beq	.L780
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	close
.L780:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L781
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L782
.L784:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L783
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	mov	r2, r3
	mov	r1, #1
	ldr	r0, [fp, #-152]
	bl	JimDetachPids
.L783:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L782:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-136]
	cmp	r2, r3
	blt	.L784
	ldr	r0, [fp, #-140]
	bl	Jim_Free
.L781:
	mvn	r3, #0
	str	r3, [fp, #-136]
	b	.L772
.L785:
	ldr	r2, .L794
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L786
	bl	__stack_chk_fail
.L786:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L795:
	.align	2
.L794:
	.word	.LC197
	.word	.LC184
	.word	.LC185
	.word	.LC186
	.word	.LC187
	.word	.LC188
	.word	.LC189
	.word	.LC190
	.word	.LC191
	.word	.LC192
	.word	.LC193
	.word	.LC74
	.word	.LC194
	.word	.LC195
	.word	stderr
	.word	.LC196
	.size	JimCreatePipeline, .-JimCreatePipeline
	.section	.rodata
	.align	2
.LC198:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCleanupChildren, %function
JimCleanupChildren:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L802
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L797
.L799:
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	JimWaitForProcess
	mov	r3, r0
	cmn	r3, #1
	beq	.L798
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-44]
	ldr	r0, [fp, #-32]
	bl	JimCheckWaitStatus
	mov	r3, r0
	cmp	r3, #0
	beq	.L798
	mov	r3, #1
	str	r3, [fp, #-20]
.L798:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L797:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L799
	ldr	r0, [fp, #-40]
	bl	Jim_Free
	ldr	r3, [fp, #-20]
	ldr	r2, .L802
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L801
	bl	__stack_chk_fail
.L801:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L803:
	.align	2
.L802:
	.word	.LC198
	.size	JimCleanupChildren, .-JimCleanupChildren
	.section	.rodata
	.align	2
.LC199:
	.ascii	"exec\000"
	.text
	.align	2
	.global	Jim_execInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_execInit, %function
Jim_execInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L807
	ldr	r1, .L807+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L805
	mov	r3, #1
	b	.L806
.L805:
	mov	r1, #1
	mov	r0, #13
	bl	signal
	bl	JimAllocWaitInfoTable
	mov	r3, r0
	ldr	r2, .L807+8
	str	r2, [sp]
	ldr	r2, .L807+12
	ldr	r1, .L807+4
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
.L806:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L808:
	.align	2
.L807:
	.word	.LC7
	.word	.LC199
	.word	JimFreeWaitInfoTable
	.word	Jim_ExecCmd
	.size	Jim_execInit, .-Jim_execInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimOpenForWrite, %function
JimOpenForWrite:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L810
	ldr	r3, .L813
	b	.L811
.L810:
	ldr	r3, .L813+4
.L811:
	ldr	r2, .L813+8
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	open
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L814:
	.align	2
.L813:
	.word	1089
	.word	577
	.word	438
	.size	JimOpenForWrite, .-JimOpenForWrite
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRewindFd, %function
JimRewindFd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	lseek
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimRewindFd, .-JimRewindFd
	.section	.rodata
	.align	2
.LC200:
	.ascii	"couldn't write temp file\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreateTemp, %function
JimCreateTemp:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	Jim_MakeTempFile
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L818
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r0, r3
	bl	unlink
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L818
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	write
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	beq	.L819
	ldr	r1, .L821
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultErrno
	ldr	r0, [fp, #-8]
	bl	close
	mvn	r3, #0
	b	.L820
.L819:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	lseek
.L818:
	ldr	r3, [fp, #-8]
.L820:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L822:
	.align	2
.L821:
	.word	.LC200
	.size	JimCreateTemp, .-JimCreateTemp
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSaveEnv, %function
JimSaveEnv:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	bl	Jim_GetEnviron
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_SetEnviron
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimSaveEnv, .-JimSaveEnv
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRestoreEnv, %function
JimRestoreEnv:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	bl	Jim_GetEnviron
	mov	r3, r0
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	JimFreeEnv
	ldr	r0, [fp, #-8]
	bl	Jim_SetEnviron
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimRestoreEnv, .-JimRestoreEnv
	.section	.rodata
	.align	2
.LC201:
	.ascii	"%a %b %d %H:%M:%S %Z %Y\000"
	.align	2
.LC202:
	.ascii	"-format\000"
	.align	2
.LC203:
	.ascii	"format string too long\000"
	.align	2
.LC204:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	clock_cmd_format, %function
clock_cmd_format:
	@ args = 0, pretend = 0, frame = 144
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #144
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	str	r2, [fp, #-144]
	ldr	r3, .L837
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L837+4
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-140]
	cmp	r3, #2
	beq	.L827
	ldr	r3, [fp, #-140]
	cmp	r3, #3
	bne	.L828
	ldr	r3, [fp, #-144]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L837+8
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	bne	.L828
.L827:
	mvn	r3, #0
	b	.L835
.L828:
	ldr	r3, [fp, #-140]
	cmp	r3, #3
	bne	.L830
	ldr	r3, [fp, #-144]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-120]
.L830:
	ldr	r3, [fp, #-144]
	ldr	r3, [r3]
	sub	r2, fp, #124
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L831
	mov	r3, #1
	b	.L835
.L831:
	ldr	r3, [fp, #-124]
	str	r3, [fp, #-128]
	sub	r3, fp, #128
	mov	r0, r3
	bl	localtime
	mov	r3, r0
	sub	r0, fp, #108
	ldr	r2, [fp, #-120]
	mov	r1, #100
	bl	strftime
	mov	r3, r0
	cmp	r3, #0
	bne	.L832
	mvn	r2, #0
	ldr	r1, .L837+12
	ldr	r0, [fp, #-136]
	bl	Jim_NewStringObj
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-112]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L833
	ldr	r3, [fp, #-136]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	Jim_FreeObj
.L833:
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	mov	r3, #1
	b	.L835
.L832:
	sub	r3, fp, #108
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	Jim_NewStringObj
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L834
	ldr	r3, [fp, #-136]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-136]
	bl	Jim_FreeObj
.L834:
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-116]
	str	r2, [r3]
	mov	r3, #0
.L835:
	ldr	r2, .L837
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L836
	bl	__stack_chk_fail
.L836:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L838:
	.align	2
.L837:
	.word	.LC204
	.word	.LC201
	.word	.LC202
	.word	.LC203
	.size	clock_cmd_format, .-clock_cmd_format
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	clock_cmd_seconds, %function
clock_cmd_seconds:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r0, #0
	bl	time
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L840
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L840:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	clock_cmd_seconds, .-clock_cmd_seconds
	.section	.rodata
	.align	2
.LC205:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	clock_cmd_micros, %function
clock_cmd_micros:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L846
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r1, [fp, #-16]
	mov	r2, r1
	lsl	r2, r2, #5
	sub	r2, r2, r1
	lsl	r3, r2, #6
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #6
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L843
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L843:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
	ldr	r2, .L846
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L845
	bl	__stack_chk_fail
.L845:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L847:
	.align	2
.L846:
	.word	.LC205
	.size	clock_cmd_micros, .-clock_cmd_micros
	.section	.rodata
	.align	2
.LC206:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	clock_cmd_millis, %function
clock_cmd_millis:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L852
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #5
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #3
	mov	r1, r3
	ldr	r3, [fp, #-12]
	ldr	r2, .L852+4
	smull	r0, r2, r3, r2
	asr	r2, r2, #6
	asr	r3, r3, #31
	sub	r3, r2, r3
	add	r3, r1, r3
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L849
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L849:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
	ldr	r2, .L852
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L851
	bl	__stack_chk_fail
.L851:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L853:
	.align	2
.L852:
	.word	.LC206
	.word	274877907
	.size	clock_cmd_millis, .-clock_cmd_millis
	.section	.rodata
	.align	2
.LC207:
	.ascii	"seconds\000"
	.align	2
.LC208:
	.ascii	"clicks\000"
	.align	2
.LC209:
	.ascii	"microseconds\000"
	.align	2
.LC210:
	.ascii	"milliseconds\000"
	.align	2
.LC211:
	.ascii	"format\000"
	.align	2
.LC212:
	.ascii	"seconds ?-format format?\000"
	.align	2
	.type	clock_command_table, %object
	.size	clock_command_table, 120
clock_command_table:
	.word	.LC207
	.word	0
	.word	clock_cmd_seconds
	.short	0
	.short	0
	.space	4
	.word	.LC208
	.word	0
	.word	clock_cmd_micros
	.short	0
	.short	0
	.space	4
	.word	.LC209
	.word	0
	.word	clock_cmd_micros
	.short	0
	.short	0
	.space	4
	.word	.LC210
	.word	0
	.word	clock_cmd_millis
	.short	0
	.short	0
	.space	4
	.word	.LC211
	.word	.LC212
	.word	clock_cmd_format
	.short	1
	.short	3
	.space	4
	.word	0
	.space	16
	.align	2
.LC213:
	.ascii	"clock\000"
	.text
	.align	2
	.global	Jim_clockInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_clockInit, %function
Jim_clockInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L857
	ldr	r1, .L857+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L855
	mov	r3, #1
	b	.L856
.L855:
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L857+8
	ldr	r2, .L857+12
	ldr	r1, .L857+4
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
.L856:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L858:
	.align	2
.L857:
	.word	.LC7
	.word	.LC213
	.word	clock_command_table
	.word	Jim_SubCmdProc
	.size	Jim_clockInit, .-Jim_clockInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_exists, %function
array_cmd_exists:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L860
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L860:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	array_cmd_exists, .-array_cmd_exists
	.section	.rodata
	.align	2
.LC214:
	.ascii	"*\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_get, %function
array_cmd_get:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L863
	mov	r3, #0
	b	.L864
.L863:
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	beq	.L865
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	b	.L866
.L865:
	mov	r3, #0
.L866:
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L867
	ldr	r2, .L870
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L868
.L867:
	ldr	r0, [fp, #-16]
	bl	Jim_IsList
	mov	r3, r0
	cmp	r3, #0
	beq	.L868
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_ListLength
	mov	r3, r0
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L868
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L869
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L869:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	b	.L864
.L868:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_DictValues
	mov	r3, r0
.L864:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L871:
	.align	2
.L870:
	.word	.LC214
	.size	array_cmd_get, .-array_cmd_get
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_names, %function
array_cmd_names:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L873
	mov	r3, #0
	b	.L874
.L873:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L875
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	b	.L876
.L875:
	mov	r3, #0
.L876:
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_DictKeys
	mov	r3, r0
.L874:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	array_cmd_names, .-array_cmd_names
	.section	.rodata
	.align	2
.LC215:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_unset, %function
array_cmd_unset:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L888
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	beq	.L878
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L888+4
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L879
.L878:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_UnsetVariable
	mov	r3, #0
	b	.L886
.L879:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L881
	mov	r3, #0
	b	.L886
.L881:
	sub	r3, fp, #28
	sub	r2, fp, #24
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	Jim_DictPairs
	mov	r3, r0
	cmp	r3, #0
	beq	.L882
	mov	r3, #1
	b	.L886
.L882:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	Jim_NewDictObj
	str	r0, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L883
.L885:
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, #0
	ldr	r0, [fp, #-32]
	bl	Jim_StringMatchObj
	mov	r3, r0
	cmp	r3, #0
	bne	.L884
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r1
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	Jim_DictAddElement
.L884:
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	str	r3, [fp, #-20]
.L883:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L885
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	Jim_Free
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_SetVariable
	mov	r3, #0
.L886:
	ldr	r2, .L888
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L887
	bl	__stack_chk_fail
.L887:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L889:
	.align	2
.L888:
	.word	.LC215
	.word	.LC214
	.size	array_cmd_unset, .-array_cmd_unset
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_size, %function
array_cmd_size:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L891
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_DictSize
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L891
	mov	r3, #1
	b	.L892
.L891:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L893
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L893:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L892:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	array_cmd_size, .-array_cmd_size
	.section	.rodata
	.align	2
.LC216:
	.ascii	"\"%#s\" isn't an array\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_stat, %function
array_cmd_stat:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L895
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_DictInfo
	mov	r3, r0
	b	.L896
.L895:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	mov	r3, #0
	ldr	r1, .L897
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
.L896:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L898:
	.align	2
.L897:
	.word	.LC216
	.size	array_cmd_stat, .-array_cmd_stat
	.section	.rodata
	.align	2
.LC217:
	.ascii	"list must have an even number of elements\000"
	.align	2
.LC218:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	array_cmd_set, %function
array_cmd_set:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L909
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_ListLength
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L900
	mvn	r2, #0
	ldr	r1, .L909+4
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L901
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L901:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L902
.L900:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetVariable
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L903
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
	b	.L902
.L903:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	Jim_DictSize
	mov	r3, r0
	cmp	r3, #0
	bge	.L904
	mov	r3, #1
	b	.L902
.L904:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L905
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-24]
.L905:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L906
.L907:
	sub	r3, fp, #36
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_ListIndex
	ldr	r3, [fp, #-28]
	add	r2, r3, #1
	sub	r3, fp, #32
	mov	r1, #0
	str	r1, [sp]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_ListIndex
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	Jim_DictAddElement
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	str	r3, [fp, #-28]
.L906:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L907
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
.L902:
	ldr	r2, .L909
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L908
	bl	__stack_chk_fail
.L908:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L910:
	.align	2
.L909:
	.word	.LC218
	.word	.LC217
	.size	array_cmd_set, .-array_cmd_set
	.section	.rodata
	.align	2
.LC219:
	.ascii	"arrayName\000"
	.align	2
.LC220:
	.ascii	"get\000"
	.align	2
.LC221:
	.ascii	"arrayName ?pattern?\000"
	.align	2
.LC222:
	.ascii	"names\000"
	.align	2
.LC223:
	.ascii	"set\000"
	.align	2
.LC224:
	.ascii	"arrayName list\000"
	.align	2
.LC225:
	.ascii	"unset\000"
	.align	2
	.type	array_command_table, %object
	.size	array_command_table, 160
array_command_table:
	.word	.LC147
	.word	.LC219
	.word	array_cmd_exists
	.short	1
	.short	1
	.space	4
	.word	.LC220
	.word	.LC221
	.word	array_cmd_get
	.short	1
	.short	2
	.space	4
	.word	.LC222
	.word	.LC221
	.word	array_cmd_names
	.short	1
	.short	2
	.space	4
	.word	.LC223
	.word	.LC224
	.word	array_cmd_set
	.short	2
	.short	2
	.space	4
	.word	.LC105
	.word	.LC219
	.word	array_cmd_size
	.short	1
	.short	1
	.space	4
	.word	.LC155
	.word	.LC219
	.word	array_cmd_stat
	.short	1
	.short	1
	.space	4
	.word	.LC225
	.word	.LC221
	.word	array_cmd_unset
	.short	1
	.short	2
	.space	4
	.word	0
	.space	16
	.align	2
.LC226:
	.ascii	"array\000"
	.text
	.align	2
	.global	Jim_arrayInit
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_arrayInit, %function
Jim_arrayInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L914
	ldr	r1, .L914+4
	ldr	r0, [fp, #-8]
	bl	Jim_PackageProvide
	mov	r3, r0
	cmp	r3, #0
	beq	.L912
	mov	r3, #1
	b	.L913
.L912:
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L914+8
	ldr	r2, .L914+12
	ldr	r1, .L914+4
	ldr	r0, [fp, #-8]
	bl	Jim_CreateCommand
	mov	r3, #0
.L913:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L915:
	.align	2
.L914:
	.word	.LC7
	.word	.LC226
	.word	array_command_table
	.word	Jim_SubCmdProc
	.size	Jim_arrayInit, .-Jim_arrayInit
	.align	2
	.global	Jim_InitStaticExtensions
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_InitStaticExtensions, %function
Jim_InitStaticExtensions:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	Jim_bootstrapInit
	ldr	r0, [fp, #-8]
	bl	Jim_aioInit
	ldr	r0, [fp, #-8]
	bl	Jim_readdirInit
	ldr	r0, [fp, #-8]
	bl	Jim_regexpInit
	ldr	r0, [fp, #-8]
	bl	Jim_fileInit
	ldr	r0, [fp, #-8]
	bl	Jim_globInit
	ldr	r0, [fp, #-8]
	bl	Jim_execInit
	ldr	r0, [fp, #-8]
	bl	Jim_clockInit
	ldr	r0, [fp, #-8]
	bl	Jim_arrayInit
	ldr	r0, [fp, #-8]
	bl	Jim_stdlibInit
	ldr	r0, [fp, #-8]
	bl	Jim_tclcompatInit
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_InitStaticExtensions, .-Jim_InitStaticExtensions
	.local	JimEmptyStringRep
	.comm	JimEmptyStringRep,1,4
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	utf8_tounicode_case, %function
utf8_tounicode_case:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L919
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	toupper
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L919:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	utf8_tounicode_case, .-utf8_tounicode_case
	.section	.rodata
	.align	2
.LC227:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCharsetMatch, %function
JimCharsetMatch:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L942
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-48]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L922
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-44]
	bl	toupper
	str	r0, [fp, #-44]
.L922:
	ldr	r3, [fp, #-48]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L941
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #94
	bne	.L924
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L924:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L941
	b	.L925
.L935:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L927
	nop
.L925:
	sub	r3, fp, #32
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-40]
	b	.L928
.L927:
	sub	r3, fp, #28
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L929
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L929
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-32]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-40]
	sub	r3, fp, #24
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L930
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	ble	.L931
.L930:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L933
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bgt	.L933
.L931:
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L933
.L929:
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-32]
.L928:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bne	.L933
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L933
.L941:
	nop
.L933:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L934
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L935
.L934:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L936
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-16]
.L936:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L937
	ldr	r3, [fp, #-40]
	b	.L939
.L937:
	mov	r3, #0
.L939:
	ldr	r2, .L942
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L940
	bl	__stack_chk_fail
.L940:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L943:
	.align	2
.L942:
	.word	.LC227
	.size	JimCharsetMatch, .-JimCharsetMatch
	.section	.rodata
	.align	2
.LC228:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGlobMatch, %function
JimGlobMatch:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L971
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L945
.L965:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L946
	cmp	r3, #92
	bgt	.L947
	cmp	r3, #91
	beq	.L948
	cmp	r3, #91
	bgt	.L947
	cmp	r3, #42
	beq	.L951
	cmp	r3, #63
	beq	.L950
	b	.L947
.L952:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L951:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L952
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L955
	mov	r3, #1
	b	.L967
.L957:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimGlobMatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L956
	mov	r3, #1
	b	.L967
.L956:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L955:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L957
	mov	r3, #0
	b	.L967
.L950:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	b	.L958
.L948:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r0, r3, #1
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	bl	JimCharsetMatch
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L959
	mov	r3, #0
	b	.L967
.L959:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L969
	b	.L945
.L946:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L947
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L947:
	sub	r3, fp, #16
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	sub	r3, fp, #12
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	utf8_tounicode_case
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	beq	.L970
	mov	r3, #0
	b	.L967
.L969:
	nop
	b	.L958
.L970:
	nop
.L958:
	sub	r3, fp, #12
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L945
	b	.L962
.L963:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L962:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L963
	b	.L964
.L945:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L965
.L964:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L966
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L966
	mov	r3, #1
	b	.L967
.L966:
	mov	r3, #0
.L967:
	ldr	r2, .L971
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L968
	bl	__stack_chk_fail
.L968:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L972:
	.align	2
.L971:
	.word	.LC228
	.size	JimGlobMatch, .-JimGlobMatch
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringCompare, %function
JimStringCompare:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bge	.L974
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bgt	.L975
	mvn	r3, #0
	b	.L977
.L975:
	mov	r3, #1
	b	.L977
.L974:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bge	.L978
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	blt	.L979
	mov	r3, #1
	b	.L977
.L979:
	mvn	r3, #0
	b	.L977
.L978:
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcmp
	mov	r3, r0
	mov	r0, r3
	bl	JimSign
	mov	r3, r0
.L977:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringCompare, .-JimStringCompare
	.section	.rodata
	.align	2
.LC229:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringCompareLen, %function
JimStringCompareLen:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L991
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L982
.L986:
	sub	r3, fp, #16
	ldr	r2, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	sub	r3, fp, #12
	ldr	r2, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L983
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r0, r3
	bl	JimSign
	mov	r3, r0
	b	.L984
.L983:
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
.L982:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L985
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L985
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L986
.L985:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L987
	mov	r3, #0
	b	.L984
.L987:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L988
	mov	r3, #1
	b	.L984
.L988:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L989
	mvn	r3, #0
	b	.L984
.L989:
	mov	r3, #0
.L984:
	ldr	r2, .L991
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L990
	bl	__stack_chk_fail
.L990:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L992:
	.align	2
.L991:
	.word	.LC229
	.size	JimStringCompareLen, .-JimStringCompareLen
	.section	.rodata
	.align	2
.LC230:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringFirst, %function
JimStringFirst:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L1002
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L994
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L994
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L995
.L994:
	mvn	r3, #0
	b	.L996
.L995:
	ldr	r3, [fp, #4]
	cmp	r3, #0
	bge	.L997
	mov	r3, #0
	str	r3, [fp, #4]
.L997:
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-16]
	b	.L998
.L1000:
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L999
	ldr	r3, [fp, #-16]
	b	.L996
.L999:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-20]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L998:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L1000
	mvn	r3, #0
.L996:
	ldr	r2, .L1002
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1001
	bl	__stack_chk_fail
.L1001:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1003:
	.align	2
.L1002:
	.word	.LC230
	.size	JimStringFirst, .-JimStringFirst
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringLast, %function
JimStringLast:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1005
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1005
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	ble	.L1006
.L1005:
	mvn	r3, #0
	b	.L1007
.L1006:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	b	.L1008
.L1010:
	ldr	r3, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L1009
	ldr	r3, [fp, #-20]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1009
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	b	.L1007
.L1009:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
.L1008:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bne	.L1010
	mvn	r3, #0
.L1007:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringLast, .-JimStringLast
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCheckConversion, %function
JimCheckConversion:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1012
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L1013
.L1012:
	mov	r3, #1
	b	.L1014
.L1013:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L1015
	b	.L1016
.L1018:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1017
	mov	r3, #1
	b	.L1014
.L1017:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1016:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1018
.L1015:
	mov	r3, #0
.L1014:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimCheckConversion, .-JimCheckConversion
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimNumberBase, %function
JimNumberBase:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	mov	r2, #10
	str	r2, [r3]
	b	.L1020
.L1021:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1020:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1021
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L1022
	ldr	r3, [fp, #-24]
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L1023
.L1022:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L1024
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1024:
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3]
.L1023:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #48
	beq	.L1025
	mov	r3, #0
	b	.L1026
.L1025:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #120
	beq	.L1027
	cmp	r3, #120
	bgt	.L1028
	cmp	r3, #111
	beq	.L1029
	cmp	r3, #111
	bgt	.L1028
	cmp	r3, #98
	beq	.L1030
	cmp	r3, #98
	bgt	.L1028
	cmp	r3, #88
	beq	.L1027
	cmp	r3, #88
	bgt	.L1028
	cmp	r3, #66
	beq	.L1030
	cmp	r3, #79
	beq	.L1029
	b	.L1028
.L1027:
	ldr	r3, [fp, #-20]
	mov	r2, #16
	str	r2, [r3]
	b	.L1031
.L1029:
	ldr	r3, [fp, #-20]
	mov	r2, #8
	str	r2, [r3]
	b	.L1031
.L1030:
	ldr	r3, [fp, #-20]
	mov	r2, #2
	str	r2, [r3]
	b	.L1031
.L1028:
	mov	r3, #0
	b	.L1026
.L1031:
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	beq	.L1032
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L1032
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1032
	ldr	r3, [fp, #-8]
	b	.L1026
.L1032:
	ldr	r3, [fp, #-20]
	mov	r2, #10
	str	r2, [r3]
	mov	r3, #0
.L1026:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimNumberBase, .-JimNumberBase
	.section	.rodata
	.align	2
.LC231:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jim_strtol, %function
jim_strtol:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L1039
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r2, fp, #24
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	JimNumberBase
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r3, #10
	beq	.L1034
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-36]
	mov	r0, r3
	bl	strtol
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L1035
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	cmp	r2, r3
	beq	.L1034
.L1035:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	mul	r3, r2, r3
	b	.L1037
.L1034:
	mov	r2, #10
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	strtol
	mov	r3, r0
.L1037:
	ldr	r2, .L1039
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1038
	bl	__stack_chk_fail
.L1038:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1040:
	.align	2
.L1039:
	.word	.LC231
	.size	jim_strtol, .-jim_strtol
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jim_strtoull, %function
jim_strtoull:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	jim_strtol
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	jim_strtoull, .-jim_strtoull
	.section	.rodata
	.align	2
.LC232:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_StringToWide
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringToWide, %function
Jim_StringToWide:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L1048
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1044
	sub	r3, fp, #12
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strtoul
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	b	.L1045
.L1044:
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	jim_strtoull
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L1045:
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimCheckConversion
	mov	r3, r0
	ldr	r2, .L1048
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1047
	bl	__stack_chk_fail
.L1047:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1049:
	.align	2
.L1048:
	.word	.LC232
	.size	Jim_StringToWide, .-Jim_StringToWide
	.section	.rodata
	.align	2
.LC233:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_StringToDouble
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringToDouble, %function
Jim_StringToDouble:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L1053
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	__errno_location
	mov	r3, r0
	mov	r2, #0
	str	r2, [r3]
	sub	r3, fp, #12
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-20]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimCheckConversion
	mov	r3, r0
	ldr	r2, .L1053
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1052
	bl	__stack_chk_fail
.L1052:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1054:
	.align	2
.L1053:
	.word	.LC233
	.size	Jim_StringToDouble, .-Jim_StringToDouble
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimPowWide, %function
JimPowWide:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1056
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1057
.L1056:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L1058
.L1057:
	mov	r3, #0
	b	.L1059
.L1058:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1060
.L1061:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	mul	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1060:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L1061
	ldr	r3, [fp, #-8]
.L1059:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimPowWide, .-JimPowWide
	.align	2
	.global	Jim_Alloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Alloc, %function
Jim_Alloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1063
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	b	.L1065
.L1063:
	mov	r3, #0
.L1065:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_Alloc, .-Jim_Alloc
	.align	2
	.global	Jim_Free
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Free, %function
Jim_Free:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_Free, .-Jim_Free
	.align	2
	.global	Jim_Realloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Realloc, %function
Jim_Realloc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	realloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_Realloc, .-Jim_Realloc
	.align	2
	.global	Jim_StrDup
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StrDup, %function
Jim_StrDup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	strdup
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_StrDup, .-Jim_StrDup
	.align	2
	.global	Jim_StrDupLen
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StrDupLen, %function
Jim_StrDupLen:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_StrDupLen, .-Jim_StrDupLen
	.section	.rodata
	.align	2
.LC234:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimClock, %function
JimClock:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	ldr	r3, .L1076
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, #0
	mov	r0, r3
	bl	gettimeofday
	ldr	r1, [fp, #-16]
	mov	r2, r1
	lsl	r2, r2, #5
	sub	r2, r2, r1
	lsl	r3, r2, #6
	sub	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r1
	lsl	r3, r3, #6
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldr	r2, .L1076
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1075
	bl	__stack_chk_fail
.L1075:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1077:
	.align	2
.L1076:
	.word	.LC234
	.size	JimClock, .-JimClock
	.align	2
	.global	Jim_IntHashFunction
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_IntHashFunction, %function
Jim_IntHashFunction:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #15
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #10
	ldr	r2, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #6
	ldr	r2, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #11
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsr	r3, r3, #16
	ldr	r2, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_IntHashFunction, .-Jim_IntHashFunction
	.align	2
	.global	Jim_GenHashFunction
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GenHashFunction, %function
Jim_GenHashFunction:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1081
.L1082:
	ldr	r3, [fp, #-8]
	lsl	r2, r3, #3
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
.L1081:
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	str	r2, [fp, #-20]
	cmp	r3, #0
	bne	.L1082
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_GenHashFunction, .-Jim_GenHashFunction
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimResetHashTable, %function
JimResetHashTable:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimResetHashTable, .-JimResetHashTable
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimInitHashTableIterator, %function
JimInitHashTableIterator:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	mvn	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimInitHashTableIterator, .-JimInitHashTableIterator
	.align	2
	.global	Jim_InitHashTable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_InitHashTable, %function
Jim_InitHashTable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	JimResetHashTable
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_InitHashTable, .-Jim_InitHashTable
	.align	2
	.global	Jim_ResizeHashTable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ResizeHashTable, %function
Jim_ResizeHashTable:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #15
	bgt	.L1089
	mov	r3, #16
	str	r3, [fp, #-8]
.L1089:
	ldr	r3, [fp, #-8]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ExpandHashTable
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ResizeHashTable, .-Jim_ResizeHashTable
	.section	.rodata
	.align	2
.LC235:
	.ascii	"the_stack_data/915129.c\000"
	.align	2
.LC236:
	.ascii	"ht->used == 0\000"
	.align	2
.LC237:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_ExpandHashTable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ExpandHashTable, %function
Jim_ExpandHashTable:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L1103
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-68]
	bl	JimHashTableNextPower
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-68]
	cmp	r2, r3
	bls	.L1101
	ldr	r3, [fp, #-64]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #8]
	sub	r3, fp, #40
	mov	r0, r3
	bl	Jim_InitHashTable
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-40]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, #0
	bl	memset
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L1093
.L1098:
	ldr	r3, [fp, #-64]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1102
	ldr	r3, [fp, #-64]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	b	.L1096
.L1097:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #28]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	and	r3, r3, r2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-64]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-56]
.L1096:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L1097
	b	.L1095
.L1102:
	nop
.L1095:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L1093:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1098
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1099
	ldr	r3, .L1103+4
	ldr	r2, .L1103+8
	ldr	r1, .L1103+12
	ldr	r0, .L1103+16
	bl	__assert_fail
.L1099:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
	ldr	r3, [fp, #-64]
	mov	lr, r3
	sub	ip, fp, #40
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1, r2, r3}
	stm	lr, {r0, r1, r2, r3}
	b	.L1090
.L1101:
	nop
.L1090:
	ldr	r3, .L1103
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1100
	bl	__stack_chk_fail
.L1100:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1104:
	.align	2
.L1103:
	.word	.LC237
	.word	__PRETTY_FUNCTION__.12168
	.word	6641
	.word	.LC235
	.word	.LC236
	.size	Jim_ExpandHashTable, .-Jim_ExpandHashTable
	.align	2
	.global	Jim_AddHashEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AddHashEntry, %function
Jim_AddHashEntry:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimInsertHashEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1106
	mov	r3, #1
	b	.L1107
.L1106:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1108
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-20]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L1109
.L1108:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L1109:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1110
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-24]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L1111
.L1110:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
.L1111:
	mov	r3, #0
.L1107:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_AddHashEntry, .-Jim_AddHashEntry
	.align	2
	.global	Jim_ReplaceHashEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ReplaceHashEntry, %function
Jim_ReplaceHashEntry:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r2, #1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimInsertHashEntry
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1113
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1114
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1114
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-32]
	mov	r0, r2
	blx	r3
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #4]
	mov	r1, r2
	blx	r3
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	b	.L1115
.L1114:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1116
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #4]
	mov	r1, r2
	blx	r3
.L1116:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1117
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-32]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	b	.L1115
.L1117:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #4]
.L1115:
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L1118
.L1113:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1119
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-28]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	b	.L1120
.L1119:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
.L1120:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1121
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-32]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	b	.L1122
.L1121:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #4]
.L1122:
	mov	r3, #0
	str	r3, [fp, #-16]
.L1118:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ReplaceHashEntry, .-Jim_ReplaceHashEntry
	.align	2
	.global	Jim_DeleteHashEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DeleteHashEntry, %function
Jim_DeleteHashEntry:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1125
	mov	r3, #1
	b	.L1126
.L1125:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r0, [fp, #-28]
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1127
.L1135:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1128
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	ldr	r1, [fp, #-28]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L1129
.L1128:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L1129:
	cmp	r3, #0
	beq	.L1130
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1131
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	b	.L1132
.L1131:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #8]
	str	r2, [r3]
.L1132:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1133
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
.L1133:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1134
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #4]
	mov	r1, r2
	blx	r3
.L1134:
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	mov	r3, #0
	b	.L1126
.L1130:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
.L1127:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1135
	mov	r3, #1
.L1126:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_DeleteHashEntry, .-Jim_DeleteHashEntry
	.align	2
	.global	Jim_FreeHashTable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FreeHashTable, %function
Jim_FreeHashTable:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1137
.L1144:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1146
	b	.L1140
.L1143:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1141
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2]
	mov	r1, r2
	blx	r3
.L1141:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1142
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #4]
	mov	r1, r2
	blx	r3
.L1142:
	ldr	r0, [fp, #-12]
	bl	Jim_Free
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
.L1140:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1143
	b	.L1139
.L1146:
	nop
.L1139:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1137:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1144
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
	ldr	r0, [fp, #-24]
	bl	JimResetHashTable
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_FreeHashTable, .-Jim_FreeHashTable
	.align	2
	.global	Jim_FindHashEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FindHashEntry, %function
Jim_FindHashEntry:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L1148
	mov	r3, #0
	b	.L1149
.L1148:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r0, [fp, #-20]
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1150
.L1154:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1151
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2]
	ldr	r1, [fp, #-20]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L1152
.L1151:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L1152:
	cmp	r3, #0
	beq	.L1153
	ldr	r3, [fp, #-12]
	b	.L1149
.L1153:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L1150:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1154
	mov	r3, #0
.L1149:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_FindHashEntry, .-Jim_FindHashEntry
	.align	2
	.global	Jim_GetHashTableIterator
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetHashTableIterator, %function
Jim_GetHashTableIterator:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r0, #16
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	JimInitHashTableIterator
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetHashTableIterator, .-Jim_GetHashTableIterator
	.align	2
	.global	Jim_NextHashEntry
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NextHashEntry, %function
Jim_NextHashEntry:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
.L1164:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1158
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2]
	ldr	r2, [r2, #12]
	cmp	r3, r2
	bge	.L1166
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L1161
.L1158:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1161:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1164
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	b	.L1163
.L1166:
	nop
	mov	r3, #0
.L1163:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_NextHashEntry, .-Jim_NextHashEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExpandHashTableIfNeeded, %function
JimExpandHashTableIfNeeded:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1168
	mov	r1, #16
	ldr	r0, [fp, #-8]
	bl	Jim_ExpandHashTable
.L1168:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L1170
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_ExpandHashTable
.L1170:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExpandHashTableIfNeeded, .-JimExpandHashTableIfNeeded
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimHashTableNextPower, %function
JimHashTableNextPower:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #16
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L1172
	mov	r3, #-2147483648
	b	.L1173
.L1172:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L1174
	ldr	r3, [fp, #-8]
	b	.L1173
.L1174:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L1172
.L1173:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimHashTableNextPower, .-JimHashTableNextPower
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimInsertHashEntry, %function
JimInsertHashEntry:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	JimExpandHashTableIfNeeded
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	ldr	r0, [fp, #-20]
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #28]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	and	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L1176
.L1183:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1177
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	ldr	r0, [r2, #8]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2]
	ldr	r1, [fp, #-20]
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L1178
.L1177:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L1178:
	cmp	r3, #0
	beq	.L1179
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1180
	ldr	r3, [fp, #-12]
	b	.L1182
.L1180:
	mov	r3, #0
	b	.L1182
.L1179:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L1176:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1183
	mov	r0, #12
	bl	Jim_Alloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
.L1182:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimInsertHashEntry, .-JimInsertHashEntry
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringCopyHTHashFunction, %function
JimStringCopyHTHashFunction:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	strlen
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_GenHashFunction
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringCopyHTHashFunction, .-JimStringCopyHTHashFunction
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringCopyHTDup, %function
JimStringCopyHTDup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	Jim_StrDup
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringCopyHTDup, .-JimStringCopyHTDup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringCopyHTKeyCompare, %function
JimStringCopyHTKeyCompare:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringCopyHTKeyCompare, .-JimStringCopyHTKeyCompare
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringCopyHTKeyDestructor, %function
JimStringCopyHTKeyDestructor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringCopyHTKeyDestructor, .-JimStringCopyHTKeyDestructor
	.section	.rodata
	.align	2
	.type	JimPackageHashTableType, %object
	.size	JimPackageHashTableType, 24
JimPackageHashTableType:
	.word	JimStringCopyHTHashFunction
	.word	JimStringCopyHTDup
	.word	0
	.word	JimStringCopyHTKeyCompare
	.word	JimStringCopyHTKeyDestructor
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAssocDataHashTableValueDestructor, %function
JimAssocDataHashTableValueDestructor:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1192
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	mov	r1, r2
	ldr	r0, [fp, #-16]
	blx	r3
.L1192:
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAssocDataHashTableValueDestructor, .-JimAssocDataHashTableValueDestructor
	.section	.rodata
	.align	2
	.type	JimAssocDataHashTableType, %object
	.size	JimAssocDataHashTableType, 24
JimAssocDataHashTableType:
	.word	JimStringCopyHTHashFunction
	.word	JimStringCopyHTDup
	.word	0
	.word	JimStringCopyHTKeyCompare
	.word	JimStringCopyHTKeyDestructor
	.word	JimAssocDataHashTableValueDestructor
	.text
	.align	2
	.global	Jim_InitStack
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_InitStack, %function
Jim_InitStack:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_InitStack, .-Jim_InitStack
	.align	2
	.global	Jim_FreeStack
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FreeStack, %function
Jim_FreeStack:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_FreeStack, .-Jim_FreeStack
	.align	2
	.global	Jim_StackLen
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StackLen, %function
Jim_StackLen:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_StackLen, .-Jim_StackLen
	.align	2
	.global	Jim_StackPush
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StackPush, %function
Jim_StackPush:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	ble	.L1198
	ldr	r3, [fp, #-8]
	cmp	r3, #19
	ble	.L1199
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #1
	b	.L1200
.L1199:
	mov	r3, #20
.L1200:
	ldr	r2, [fp, #-16]
	str	r3, [r2, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	Jim_Realloc
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
.L1198:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_StackPush, .-Jim_StackPush
	.align	2
	.global	Jim_StackPop
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StackPop, %function
Jim_StackPop:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1202
	mov	r3, #0
	b	.L1203
.L1202:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
.L1203:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_StackPop, .-Jim_StackPop
	.align	2
	.global	Jim_StackPeek
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StackPeek, %function
Jim_StackPeek:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1205
	mov	r3, #0
	b	.L1206
.L1205:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
.L1206:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_StackPeek, .-Jim_StackPeek
	.align	2
	.global	Jim_FreeStackElements
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FreeStackElements, %function
Jim_FreeStackElements:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1208
.L1209:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r0, r2
	blx	r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1208:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L1209
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_FreeStackElements, .-Jim_FreeStackElements
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParserInit, %function
JimParserInit:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	mov	r2, #32
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #44]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimParserInit, .-JimParserInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseScript, %function
JimParseScript:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
.L1228:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1212
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #28]
	mov	r3, #0
	b	.L1213
.L1212:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1214
	cmp	r3, #92
	bgt	.L1215
	cmp	r3, #59
	bgt	.L1216
	cmp	r3, #9
	blt	.L1215
	sub	r3, r3, #9
	cmp	r3, #50
	ldrls	pc, [pc, r3, asl #2]
	b	.L1215
.L1218:
	.word	.L1221
	.word	.L1217
	.word	.L1215
	.word	.L1221
	.word	.L1221
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1221
	.word	.L1215
	.word	.L1215
	.word	.L1220
	.word	.L1219
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1215
	.word	.L1217
.L1216:
	cmp	r3, #91
	beq	.L1222
	b	.L1215
.L1214:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1223
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1223
	ldr	r0, [fp, #-8]
	bl	JimParseSep
	mov	r3, r0
	b	.L1213
.L1223:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r0, [fp, #-8]
	bl	JimParseStr
	mov	r3, r0
	b	.L1213
.L1221:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1224
	ldr	r0, [fp, #-8]
	bl	JimParseSep
	mov	r3, r0
	b	.L1213
.L1224:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r0, [fp, #-8]
	bl	JimParseStr
	mov	r3, r0
	b	.L1213
.L1217:
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1225
	ldr	r0, [fp, #-8]
	bl	JimParseEol
	mov	r3, r0
	b	.L1213
.L1225:
	ldr	r0, [fp, #-8]
	bl	JimParseStr
	mov	r3, r0
	b	.L1213
.L1222:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r0, [fp, #-8]
	bl	JimParseCmd
	mov	r3, r0
	b	.L1213
.L1219:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r0, [fp, #-8]
	bl	JimParseVar
	mov	r3, r0
	cmp	r3, #1
	bne	.L1226
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r1, r3, #1
	ldr	r2, [fp, #-8]
	str	r1, [r2]
	ldr	r2, [fp, #-8]
	str	r3, [r2, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
.L1226:
	mov	r3, #0
	b	.L1213
.L1220:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1227
	ldr	r0, [fp, #-8]
	bl	JimParseComment
	b	.L1228
.L1227:
	ldr	r0, [fp, #-8]
	bl	JimParseStr
	mov	r3, r0
	b	.L1213
.L1215:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #36]
	ldr	r0, [fp, #-8]
	bl	JimParseStr
	mov	r3, r0
.L1213:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseScript, .-JimParseScript
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseSep, %function
JimParseSep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	b	.L1230
.L1234:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L1236
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1233
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
.L1233:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1230:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1234
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1232
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L1234
	b	.L1232
.L1236:
	nop
.L1232:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #6
	str	r2, [r3, #24]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseSep, .-JimParseSep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseEol, %function
JimParseEol:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	b	.L1238
.L1240:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1239
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
.L1239:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1238:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1240
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #59
	beq	.L1240
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3, #24]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseEol, .-JimParseEol
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseSubBrace, %function
JimParseSubBrace:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1243
.L1252:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L1244
	cmp	r3, #125
	bgt	.L1245
	cmp	r3, #123
	beq	.L1246
	cmp	r3, #123
	bgt	.L1245
	cmp	r3, #10
	beq	.L1247
	cmp	r3, #92
	bne	.L1245
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L1253
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1249
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
.L1249:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1253
.L1246:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L1245
.L1244:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1254
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1242
.L1247:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L1245
.L1253:
	nop
	b	.L1245
.L1254:
	nop
.L1245:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L1243:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1252
	ldr	r3, [fp, #-16]
	mov	r2, #123
	str	r2, [r3, #40]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
.L1242:
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimParseSubBrace, .-JimParseSubBrace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseSubQuote, %function
JimParseSubQuote:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1256
.L1266:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1257
	cmp	r3, #92
	bgt	.L1258
	cmp	r3, #91
	beq	.L1259
	cmp	r3, #91
	bgt	.L1258
	cmp	r3, #36
	beq	.L1260
	cmp	r3, #36
	bgt	.L1258
	cmp	r3, #10
	beq	.L1261
	cmp	r3, #34
	beq	.L1262
	b	.L1258
.L1257:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L1267
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1264
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
.L1264:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	mov	r3, #2
	str	r3, [fp, #-12]
	b	.L1267
.L1262:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	b	.L1265
.L1259:
	ldr	r0, [fp, #-16]
	bl	JimParseSubCmd
	mov	r3, #2
	str	r3, [fp, #-12]
	b	.L1256
.L1261:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	b	.L1258
.L1260:
	mov	r3, #2
	str	r3, [fp, #-12]
	b	.L1258
.L1267:
	nop
.L1258:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L1256:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1266
	ldr	r3, [fp, #-16]
	mov	r2, #34
	str	r2, [r3, #40]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
.L1265:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseSubQuote, .-JimParseSubQuote
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseSubCmd, %function
JimParseSubCmd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	b	.L1269
.L1282:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L1270
	cmp	r3, #123
	bgt	.L1271
	cmp	r3, #93
	beq	.L1272
	cmp	r3, #93
	bgt	.L1271
	cmp	r3, #92
	beq	.L1273
	cmp	r3, #92
	bgt	.L1271
	cmp	r3, #91
	beq	.L1274
	cmp	r3, #91
	bgt	.L1271
	cmp	r3, #10
	beq	.L1275
	cmp	r3, #34
	beq	.L1276
	b	.L1271
.L1273:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L1283
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1278
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
.L1278:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	b	.L1283
.L1274:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L1271
.L1272:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1284
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
	b	.L1268
.L1276:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1285
	ldr	r0, [fp, #-24]
	bl	JimParseSubQuote
	b	.L1269
.L1270:
	ldr	r0, [fp, #-24]
	bl	JimParseSubBrace
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1269
.L1275:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	b	.L1271
.L1283:
	nop
	b	.L1271
.L1284:
	nop
	b	.L1271
.L1285:
	nop
.L1271:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #4]
.L1269:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1282
	ldr	r3, [fp, #-24]
	mov	r2, #91
	str	r2, [r3, #40]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
.L1268:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseSubCmd, .-JimParseSubCmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseBrace, %function
JimParseBrace:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #24]
	ldr	r0, [fp, #-8]
	bl	JimParseSubBrace
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseBrace, .-JimParseBrace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseCmd, %function
JimParseCmd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #5
	str	r2, [r3, #24]
	ldr	r0, [fp, #-8]
	bl	JimParseSubCmd
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseCmd, .-JimParseCmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseQuote, %function
JimParseQuote:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r0, [fp, #-8]
	bl	JimParseSubQuote
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseQuote, .-JimParseQuote
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseVar, %function
JimParseVar:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	mov	r2, #3
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L1293
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1294
.L1297:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1295
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
.L1295:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L1294:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1296
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L1297
.L1296:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1298
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1298
.L1293:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1299
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1299
	b	.L1300
.L1301:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
.L1300:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1301
	b	.L1302
.L1299:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L1303
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	beq	.L1303
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	cmp	r3, #0
	bge	.L1316
.L1303:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	nop
.L1302:
	b	.L1293
.L1316:
	nop
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L1306
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	mov	r2, #4
	str	r2, [r3, #24]
	b	.L1307
.L1311:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1308
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	ble	.L1308
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1307
.L1308:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L1309
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L1307
.L1309:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L1307
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L1307:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1310
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1311
.L1310:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1312
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L1313
.L1312:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1313
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r1, r3
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L1313:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	bne	.L1306
	ldr	r3, [fp, #-16]
	mov	r2, #16
	str	r2, [r3, #24]
.L1306:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
.L1298:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1314
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	mov	r3, #1
	b	.L1315
.L1314:
	mov	r3, #0
.L1315:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseVar, .-JimParseVar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseStr, %function
JimParseStr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #6
	beq	.L1318
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #7
	beq	.L1318
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1318
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #1
	bne	.L1319
.L1318:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L1320
	ldr	r0, [fp, #-8]
	bl	JimParseBrace
	mov	r3, r0
	b	.L1321
.L1320:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	bne	.L1319
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #44]
.L1319:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
.L1342:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1322
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1323
	ldr	r3, [fp, #-8]
	mov	r2, #34
	str	r2, [r3, #40]
.L1323:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	mov	r3, #0
	b	.L1321
.L1322:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #9
	cmp	r3, #83
	ldrls	pc, [pc, r3, asl #2]
	b	.L1324
.L1326:
	.word	.L1328
	.word	.L1328
	.word	.L1324
	.word	.L1328
	.word	.L1328
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1328
	.word	.L1324
	.word	.L1331
	.word	.L1324
	.word	.L1327
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1330
	.word	.L1329
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1328
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1324
	.word	.L1327
	.word	.L1325
.L1325:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1332
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1332
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	mov	r3, #0
	b	.L1321
.L1332:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L1333
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1334
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
.L1334:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L1343
.L1333:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	bne	.L1343
	ldr	r3, [fp, #-8]
	mov	r2, #92
	str	r2, [r3, #40]
	b	.L1343
.L1330:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L1329
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L1344
.L1329:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	beq	.L1336
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #3
	bne	.L1345
.L1336:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bne	.L1338
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1338:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	mov	r3, #0
	b	.L1321
.L1327:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	mov	r3, #0
	b	.L1321
.L1328:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L1339
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	mov	r3, #0
	b	.L1321
.L1339:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1346
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L1346
.L1331:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1347
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	mov	r3, #0
	b	.L1321
.L1343:
	nop
	b	.L1324
.L1344:
	nop
	b	.L1324
.L1345:
	nop
	b	.L1324
.L1346:
	nop
	b	.L1324
.L1347:
	nop
.L1324:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L1342
.L1321:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseStr, .-JimParseStr
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseComment, %function
JimParseComment:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	b	.L1349
.L1355:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1350
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1351
	ldr	r3, [fp, #-8]
	mov	r2, #92
	str	r2, [r3, #40]
	mov	r3, #0
	b	.L1352
.L1351:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1353
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L1353
.L1350:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1353
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L1354
.L1353:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1349:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1355
.L1354:
	mov	r3, #0
.L1352:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimParseComment, .-JimParseComment
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	xdigitval, %function
xdigitval:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	ble	.L1357
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bgt	.L1357
	ldr	r3, [fp, #-8]
	sub	r3, r3, #48
	b	.L1358
.L1357:
	ldr	r3, [fp, #-8]
	cmp	r3, #96
	ble	.L1359
	ldr	r3, [fp, #-8]
	cmp	r3, #102
	bgt	.L1359
	ldr	r3, [fp, #-8]
	sub	r3, r3, #87
	b	.L1358
.L1359:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L1360
	ldr	r3, [fp, #-8]
	cmp	r3, #70
	bgt	.L1360
	ldr	r3, [fp, #-8]
	sub	r3, r3, #55
	b	.L1358
.L1360:
	mvn	r3, #0
.L1358:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	xdigitval, .-xdigitval
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	odigitval, %function
odigitval:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	ble	.L1362
	ldr	r3, [fp, #-8]
	cmp	r3, #55
	bgt	.L1362
	ldr	r3, [fp, #-8]
	sub	r3, r3, #48
	b	.L1363
.L1362:
	mvn	r3, #0
.L1363:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	odigitval, .-odigitval
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimEscape, %function
JimEscape:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L1365
.L1399:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1366
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #120
	bgt	.L1367
	cmp	r3, #48
	bge	.L1368
	cmp	r3, #0
	beq	.L1369
	cmp	r3, #10
	beq	.L1370
	b	.L1367
.L1368:
	sub	r3, r3, #48
	cmp	r3, #72
	ldrls	pc, [pc, r3, asl #2]
	b	.L1367
.L1372:
	.word	.L1380
	.word	.L1380
	.word	.L1380
	.word	.L1380
	.word	.L1380
	.word	.L1380
	.word	.L1380
	.word	.L1380
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1371
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1379
	.word	.L1378
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1377
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1376
	.word	.L1367
	.word	.L1367
	.word	.L1367
	.word	.L1375
	.word	.L1367
	.word	.L1374
	.word	.L1371
	.word	.L1373
	.word	.L1367
	.word	.L1371
.L1379:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #7
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1378:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #8
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1377:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #12
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1376:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #10
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1375:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #13
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1374:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #9
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1371:
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #85
	bne	.L1382
	mov	r3, #8
	str	r3, [fp, #-24]
	b	.L1383
.L1382:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L1383
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L1384
	mov	r3, #6
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1383
.L1384:
	mov	r3, #4
	str	r3, [fp, #-24]
.L1383:
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1385
.L1388:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	xdigitval
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmn	r3, #1
	beq	.L1401
	ldr	r3, [fp, #-32]
	lsl	r2, r3, #4
	ldr	r3, [fp, #-16]
	orr	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1385:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L1388
	b	.L1387
.L1401:
	nop
.L1387:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L1389
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1390
	ldr	r3, [fp, #-32]
	cmp	r3, #2097152
	bcs	.L1390
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L1391
.L1390:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L1389
.L1391:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L1389:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1392
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #120
	bne	.L1393
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-32]
	and	r2, r2, #255
	strb	r2, [r3]
	b	.L1394
.L1393:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-40]
	bl	utf8_fromunicode
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r3, r2
	str	r3, [fp, #-40]
.L1394:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L1381
.L1392:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r1, r3, #1
	str	r1, [fp, #-40]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	b	.L1381
.L1373:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #11
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1369:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1370:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	mov	r2, #32
	strb	r2, [r3]
.L1395:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L1395
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #9
	beq	.L1395
	b	.L1381
.L1380:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	odigitval
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	odigitval
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L1396
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1381
.L1396:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	odigitval
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L1397
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	str	r3, [fp, #-36]
	b	.L1381
.L1397:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-12]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #3
	str	r3, [fp, #-36]
	b	.L1381
.L1367:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r1, r3, #1
	str	r1, [fp, #-40]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	nop
.L1381:
	b	.L1398
.L1366:
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-52]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r1, r3, #1
	str	r1, [fp, #-40]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	nop
.L1398:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L1365:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L1399
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimEscape, .-JimEscape
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParserGetTokenObj, %function
JimParserGetTokenObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bls	.L1403
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r0, #1
	bl	Jim_Alloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	b	.L1404
.L1403:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #24]
	cmp	r3, #2
	beq	.L1405
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	b	.L1404
.L1405:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-20]
	bl	JimEscape
	str	r0, [fp, #-16]
.L1404:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObjNoAlloc
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParserGetTokenObj, .-JimParserGetTokenObj
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseList, %function
JimParseList:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L1408
	ldr	r0, [fp, #-8]
	bl	JimParseListSep
	mov	r3, r0
	b	.L1409
.L1408:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L1410
	cmp	r3, #123
	beq	.L1411
	b	.L1415
.L1410:
	ldr	r0, [fp, #-8]
	bl	JimParseListQuote
	mov	r3, r0
	b	.L1409
.L1411:
	ldr	r0, [fp, #-8]
	bl	JimParseBrace
	mov	r3, r0
	b	.L1409
.L1415:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1416
	ldr	r0, [fp, #-8]
	bl	JimParseListStr
	mov	r3, r0
	b	.L1409
.L1416:
	nop
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #28]
	mov	r3, #0
.L1409:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseList, .-JimParseList
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseListSep, %function
JimParseListSep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	b	.L1418
.L1420:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L1419
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
.L1419:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1418:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L1420
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #6
	str	r2, [r3, #24]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseListSep, .-JimParseListSep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseListQuote, %function
JimParseListQuote:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #24]
	b	.L1423
.L1430:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L1424
	cmp	r3, #92
	bgt	.L1425
	cmp	r3, #10
	beq	.L1426
	cmp	r3, #34
	beq	.L1427
	b	.L1425
.L1424:
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1428
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	mov	r3, #0
	b	.L1429
.L1428:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L1425
.L1426:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	b	.L1425
.L1427:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	mov	r3, #0
	b	.L1429
.L1425:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1423:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1430
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	mov	r3, #0
.L1429:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimParseListQuote, .-JimParseListQuote
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseListStr, %function
JimParseListStr:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #24]
	b	.L1432
.L1437:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L1433
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	mov	r3, #0
	b	.L1434
.L1433:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L1435
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1436
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	mov	r3, #0
	b	.L1434
.L1436:
	ldr	r3, [fp, #-8]
	mov	r2, #2
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
.L1435:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L1432:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1437
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	mov	r3, #0
.L1434:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseListStr, .-JimParseListStr
	.align	2
	.global	Jim_NewObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewObj, %function
Jim_NewObj:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	beq	.L1439
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #112]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #112]
	b	.L1440
.L1439:
	mov	r0, #40
	bl	Jim_Alloc
	str	r0, [fp, #-8]
.L1440:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L1441
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #108]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #32]
.L1441:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #108]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_NewObj, .-Jim_NewObj
	.align	2
	.global	Jim_FreeObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FreeObj, %function
Jim_FreeObj:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1444
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1444
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	blx	r3
.L1444:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1445
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, .L1450
	cmp	r3, r2
	beq	.L1445
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
.L1445:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	beq	.L1446
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #32]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #36]
	str	r2, [r3, #36]
.L1446:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	beq	.L1447
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #32]
	str	r2, [r3, #32]
.L1447:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #108]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L1448
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #108]
.L1448:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #32]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #112]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #36]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	beq	.L1449
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #112]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #32]
.L1449:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #112]
	ldr	r3, [fp, #-12]
	mvn	r2, #0
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1451:
	.align	2
.L1450:
	.word	JimEmptyStringRep
	.size	Jim_FreeObj, .-Jim_FreeObj
	.align	2
	.global	Jim_InvalidateStringRep
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_InvalidateStringRep, %function
Jim_InvalidateStringRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L1453
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, .L1454
	cmp	r3, r2
	beq	.L1453
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
.L1453:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1455:
	.align	2
.L1454:
	.word	JimEmptyStringRep
	.size	Jim_InvalidateStringRep, .-Jim_InvalidateStringRep
	.align	2
	.global	Jim_DuplicateObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DuplicateObj, %function
Jim_DuplicateObj:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1457
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	b	.L1458
.L1457:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L1459
	ldr	r3, [fp, #-8]
	ldr	r2, .L1463
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	b	.L1460
.L1459:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	add	r3, r3, #1
	mov	r2, r3
	bl	memcpy
.L1458:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1461
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1462
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	ip, r2, #16
	add	r3, r3, #16
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	b	.L1461
.L1462:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
.L1461:
	ldr	r3, [fp, #-8]
.L1460:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1464:
	.align	2
.L1463:
	.word	JimEmptyStringRep
	.size	Jim_DuplicateObj, .-Jim_DuplicateObj
	.align	2
	.global	Jim_GetString
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetString, %function
Jim_GetString:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1466
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-8]
	blx	r3
.L1466:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L1467
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
.L1467:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetString, .-Jim_GetString
	.align	2
	.global	Jim_Length
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Length, %function
Jim_Length:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1470
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-8]
	blx	r3
.L1470:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_Length, .-Jim_Length
	.align	2
	.global	Jim_String
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_String, %function
Jim_String:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1473
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-8]
	blx	r3
.L1473:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_String, .-Jim_String
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetStringBytes, %function
JimSetStringBytes:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	Jim_StrDup
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r0, [fp, #-12]
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimSetStringBytes, .-JimSetStringBytes
	.section	.rodata
	.align	2
.LC238:
	.ascii	"dict-substitution\000"
	.align	2
	.type	dictSubstObjType, %object
	.size	dictSubstObjType, 20
dictSubstObjType:
	.word	.LC238
	.word	FreeDictSubstInternalRep
	.word	DupDictSubstInternalRep
	.word	0
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeInterpolatedInternalRep, %function
FreeInterpolatedInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1478
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1478:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeInterpolatedInternalRep, .-FreeInterpolatedInternalRep
	.section	.rodata
	.align	2
.LC239:
	.ascii	"interpolated\000"
	.align	2
	.type	interpolatedObjType, %object
	.size	interpolatedObjType, 20
interpolatedObjType:
	.word	.LC239
	.word	FreeInterpolatedInternalRep
	.word	0
	.word	0
	.word	0
	.align	2
.LC240:
	.ascii	"string\000"
	.align	2
	.type	stringObjType, %object
	.size	stringObjType, 20
stringObjType:
	.word	.LC240
	.word	0
	.word	DupStringInternalRep
	.word	0
	.word	1
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupStringInternalRep, %function
DupStringInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	DupStringInternalRep, .-DupStringInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetStringFromAny, %function
SetStringFromAny:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L1485
	cmp	r3, r2
	beq	.L1481
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1482
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-12]
	blx	r3
.L1482:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1483
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1483
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	blx	r3
.L1483:
	ldr	r3, [fp, #-12]
	ldr	r2, .L1485
	str	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	mvn	r2, #0
	str	r2, [r3, #20]
.L1481:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1486:
	.align	2
.L1485:
	.word	stringObjType
	.size	SetStringFromAny, .-SetStringFromAny
	.align	2
	.global	Jim_Utf8Length
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Utf8Length, %function
Jim_Utf8Length:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	Jim_Length
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_Utf8Length, .-Jim_Utf8Length
	.align	2
	.global	Jim_NewStringObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewStringObj, %function
Jim_NewStringObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	bne	.L1490
	ldr	r0, [fp, #-20]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-24]
.L1490:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1491
	ldr	r3, [fp, #-8]
	ldr	r2, .L1494
	str	r2, [r3]
	b	.L1492
.L1491:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L1492:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1495:
	.align	2
.L1494:
	.word	JimEmptyStringRep
	.size	Jim_NewStringObj, .-Jim_NewStringObj
	.align	2
	.global	Jim_NewStringObjUtf8
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewStringObjUtf8, %function
Jim_NewStringObjUtf8:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_NewStringObjUtf8, .-Jim_NewStringObjUtf8
	.align	2
	.global	Jim_NewStringObjNoAlloc
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewStringObjNoAlloc, %function
Jim_NewStringObjNoAlloc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	bne	.L1499
	ldr	r0, [fp, #-20]
	bl	strlen
	mov	r3, r0
	b	.L1500
.L1499:
	ldr	r3, [fp, #-24]
.L1500:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #12]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_NewStringObjNoAlloc, .-Jim_NewStringObjNoAlloc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	StringAppendString, %function
StringAppendString:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	bne	.L1503
	ldr	r0, [fp, #-28]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-32]
.L1503:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L1504
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1505
.L1504:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #6
	bgt	.L1506
	mov	r3, #7
	str	r3, [fp, #-16]
.L1506:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L1512
	cmp	r3, r2
	bne	.L1507
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	b	.L1508
.L1507:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	Jim_Realloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
.L1508:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
.L1505:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #12]
	add	r3, r3, r2
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [r2, #12]
	ldr	r2, [fp, #-32]
	add	r2, r1, r2
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	blt	.L1509
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	mov	r4, r3
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L1510
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #12]
	add	r3, r3, r2
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	b	.L1511
.L1510:
	ldr	r3, [fp, #-32]
.L1511:
	add	r3, r3, r4
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
.L1509:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #12]
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1513:
	.align	2
.L1512:
	.word	JimEmptyStringRep
	.size	StringAppendString, .-StringAppendString
	.align	2
	.global	Jim_AppendString
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AppendString, %function
Jim_AppendString:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetStringFromAny
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	StringAppendString
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_AppendString, .-Jim_AppendString
	.section	.rodata
	.align	2
.LC241:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_AppendObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AppendObj, %function
Jim_AppendObj:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L1517
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	nop
	ldr	r3, .L1517
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1516
	bl	__stack_chk_fail
.L1516:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1518:
	.align	2
.L1517:
	.word	.LC241
	.size	Jim_AppendObj, .-Jim_AppendObj
	.section	.rodata
	.align	2
.LC242:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_AppendStrings
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AppendStrings, %function
Jim_AppendStrings:
	@ args = 4, pretend = 12, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #28
	str	r0, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	ldr	r3, .L1526
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	SetStringFromAny
	add	r3, fp, #8
	str	r3, [fp, #-20]
.L1522:
	ldr	r3, [fp, #-20]
	add	r2, r3, #4
	str	r2, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L1525
	mvn	r3, #0
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	Jim_AppendString
	b	.L1522
.L1525:
	nop
	nop
	ldr	r3, .L1526
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1523
	bl	__stack_chk_fail
.L1523:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #12
	bx	lr
.L1527:
	.align	2
.L1526:
	.word	.LC242
	.size	Jim_AppendStrings, .-Jim_AppendStrings
	.section	.rodata
	.align	2
.LC243:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_StringEqObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringEqObj, %function
Jim_StringEqObj:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L1534
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L1529
	mov	r3, #1
	b	.L1530
.L1529:
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetString
	str	r0, [fp, #-16]
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L1531
	ldr	r3, [fp, #-24]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1531
	mov	r3, #1
	b	.L1530
.L1531:
	mov	r3, #0
.L1530:
	ldr	r2, .L1534
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1533
	bl	__stack_chk_fail
.L1533:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1535:
	.align	2
.L1534:
	.word	.LC243
	.size	Jim_StringEqObj, .-Jim_StringEqObj
	.align	2
	.global	Jim_StringMatchObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringMatchObj, %function
Jim_StringMatchObj:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	Jim_String
	mov	r4, r0
	ldr	r0, [fp, #-24]
	bl	Jim_String
	mov	r3, r0
	ldr	r2, [fp, #-28]
	mov	r1, r3
	mov	r0, r4
	bl	JimGlobMatch
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	Jim_StringMatchObj, .-Jim_StringMatchObj
	.section	.rodata
	.align	2
.LC244:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_StringCompareObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringCompareObj, %function
Jim_StringCompareObj:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L1543
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	Jim_GetString
	str	r0, [fp, #-16]
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L1539
	ldr	r3, [fp, #-44]
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	JimStringCompareLen
	mov	r3, r0
	b	.L1541
.L1539:
	ldr	r1, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	JimStringCompare
	mov	r3, r0
.L1541:
	ldr	r2, .L1543
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1542
	bl	__stack_chk_fail
.L1542:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1544:
	.align	2
.L1543:
	.word	.LC244
	.size	Jim_StringCompareObj, .-Jim_StringCompareObj
	.align	2
	.global	Jim_StringCompareLenObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringCompareLenObj, %function
Jim_StringCompareLenObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	Jim_String
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_Utf8Length
	mov	r2, r0
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	JimStringCompareLen
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_StringCompareLenObj, .-Jim_StringCompareLenObj
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRelToAbsIndex, %function
JimRelToAbsIndex:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L1548
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	b	.L1549
.L1548:
	ldr	r3, [fp, #-12]
.L1549:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimRelToAbsIndex, .-JimRelToAbsIndex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRelToAbsRange, %function
JimRelToAbsRange:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L1551
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L1552
.L1551:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1552
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bge	.L1553
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3]
.L1553:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L1552
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	sub	r3, r2, r3
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3]
.L1552:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L1554
	mov	r3, #0
	str	r3, [fp, #-8]
.L1554:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimRelToAbsRange, .-JimRelToAbsRange
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringGetRange, %function
JimStringGetRange:
	@ args = 12, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r2, [fp, #4]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L1556
	mov	r3, #1
	b	.L1557
.L1556:
	ldr	r2, [fp, #8]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L1558
	mov	r3, #1
	b	.L1557
.L1558:
	ldr	r3, [fp, #4]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	JimRelToAbsIndex
	mov	r2, r0
	ldr	r3, [fp, #4]
	str	r2, [r3]
	ldr	r3, [fp, #8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	JimRelToAbsIndex
	mov	r2, r0
	ldr	r3, [fp, #8]
	str	r2, [r3]
	ldr	r3, [fp, #12]
	ldr	r2, [fp, #8]
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-20]
	bl	JimRelToAbsRange
	mov	r3, #0
.L1557:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringGetRange, .-JimStringGetRange
	.section	.rodata
	.align	2
.LC245:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_StringByteRangeObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringByteRangeObj, %function
Jim_StringByteRangeObj:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L1565
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-16]
	sub	r3, fp, #20
	str	r3, [sp, #8]
	sub	r3, fp, #24
	str	r3, [sp, #4]
	sub	r3, fp, #28
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	JimStringGetRange
	mov	r3, r0
	cmp	r3, #0
	beq	.L1560
	mov	r3, #0
	b	.L1563
.L1560:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1562
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1562
	ldr	r3, [fp, #-36]
	b	.L1563
.L1562:
	ldr	r3, [fp, #-28]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	mov	r3, r0
.L1563:
	ldr	r2, .L1565
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1564
	bl	__stack_chk_fail
.L1564:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1566:
	.align	2
.L1565:
	.word	.LC245
	.size	Jim_StringByteRangeObj, .-Jim_StringByteRangeObj
	.align	2
	.global	Jim_StringRangeObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringRangeObj, %function
Jim_StringRangeObj:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_StringByteRangeObj
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_StringRangeObj, .-Jim_StringRangeObj
	.section	.rodata
	.align	2
.LC246:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	JimStringReplaceObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringReplaceObj, %function
JimStringReplaceObj:
	@ args = 4, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-56]
	ldr	r3, .L1576
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_Utf8Length
	str	r0, [fp, #-20]
	sub	r3, fp, #24
	str	r3, [sp, #8]
	sub	r3, fp, #28
	str	r3, [sp, #4]
	sub	r3, fp, #32
	str	r3, [sp]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-40]
	bl	JimStringGetRange
	mov	r3, r0
	cmp	r3, #0
	beq	.L1570
	mov	r3, #0
	b	.L1574
.L1570:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L1572
	ldr	r3, [fp, #-44]
	b	.L1574
.L1572:
	ldr	r0, [fp, #-44]
	bl	Jim_String
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObjUtf8
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1573
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-40]
	bl	Jim_AppendObj
.L1573:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r1, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r1
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-40]
	bl	Jim_AppendString
	ldr	r3, [fp, #-12]
.L1574:
	ldr	r2, .L1576
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1575
	bl	__stack_chk_fail
.L1575:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1577:
	.align	2
.L1576:
	.word	.LC246
	.size	JimStringReplaceObj, .-JimStringReplaceObj
	.section	.rodata
	.align	2
.LC247:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStrCopyUpperLower, %function
JimStrCopyUpperLower:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L1584
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L1579
.L1582:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1580
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	toupper
	mov	r3, r0
	and	r3, r3, #255
	b	.L1581
.L1580:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	tolower
	mov	r3, r0
	and	r3, r3, #255
.L1581:
	ldr	r2, [fp, #-16]
	strb	r3, [r2]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
.L1579:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1582
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	nop
	ldr	r3, .L1584
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1583
	bl	__stack_chk_fail
.L1583:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1585:
	.align	2
.L1584:
	.word	.LC247
	.size	JimStrCopyUpperLower, .-JimStrCopyUpperLower
	.section	.rodata
	.align	2
.LC248:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringToLower, %function
JimStringToLower:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L1589
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetStringFromAny
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	Jim_GetString
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-12]
	mov	r2, #0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	JimStrCopyUpperLower
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObjNoAlloc
	mov	r3, r0
	ldr	r2, .L1589
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1588
	bl	__stack_chk_fail
.L1588:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1590:
	.align	2
.L1589:
	.word	.LC248
	.size	JimStringToLower, .-JimStringToLower
	.section	.rodata
	.align	2
.LC249:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringToUpper, %function
JimStringToUpper:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L1595
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, .L1595+4
	cmp	r3, r2
	beq	.L1592
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetStringFromAny
.L1592:
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	Jim_GetString
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-12]
	mov	r2, #1
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	JimStrCopyUpperLower
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObjNoAlloc
	mov	r3, r0
	ldr	r2, .L1595
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1594
	bl	__stack_chk_fail
.L1594:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1596:
	.align	2
.L1595:
	.word	.LC249
	.word	stringObjType
	.size	JimStringToUpper, .-JimStringToUpper
	.section	.rodata
	.align	2
.LC250:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringToTitle, %function
JimStringToTitle:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L1602
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	Jim_GetString
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1598
	ldr	r3, [fp, #-36]
	b	.L1600
.L1598:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-24]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	toupper
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	strb	r2, [r3]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimStrCopyUpperLower
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObjNoAlloc
	mov	r3, r0
.L1600:
	ldr	r2, .L1602
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1601
	bl	__stack_chk_fail
.L1601:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1603:
	.align	2
.L1602:
	.word	.LC250
	.size	JimStringToTitle, .-JimStringToTitle
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	utf8_memchr, %function
utf8_memchr:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	memchr
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	utf8_memchr, .-utf8_memchr
	.section	.rodata
	.align	2
.LC251:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimFindTrimLeft, %function
JimFindTrimLeft:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L1614
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	b	.L1607
.L1610:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	utf8_memchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L1613
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
.L1607:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1610
	b	.L1609
.L1613:
	nop
.L1609:
	ldr	r3, [fp, #-24]
	ldr	r2, .L1614
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1612
	bl	__stack_chk_fail
.L1612:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1615:
	.align	2
.L1614:
	.word	.LC251
	.size	JimFindTrimLeft, .-JimFindTrimLeft
	.section	.rodata
	.align	2
.LC252:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimFindTrimRight, %function
JimFindTrimRight:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L1622
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	b	.L1617
.L1620:
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-12]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	utf8_memchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L1617
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	b	.L1619
.L1617:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1620
	mov	r3, #0
.L1619:
	ldr	r2, .L1622
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1621
	bl	__stack_chk_fail
.L1621:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1623:
	.align	2
.L1622:
	.word	.LC252
	.size	JimFindTrimRight, .-JimFindTrimRight
	.section	.rodata
	.align	2
	.type	default_trim_chars, %object
	.size	default_trim_chars, 5
default_trim_chars:
	.ascii	" \011\012\015\000"
	.data
	.align	2
	.type	default_trim_chars_len, %object
	.size	default_trim_chars_len, 4
default_trim_chars_len:
	.word	5
	.section	.rodata
	.align	2
.LC253:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringTrimLeft, %function
JimStringTrimLeft:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L1630
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	Jim_GetString
	str	r0, [fp, #-16]
	ldr	r3, .L1630+4
	str	r3, [fp, #-20]
	ldr	r3, .L1630+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1625
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetString
	str	r0, [fp, #-20]
.L1625:
	ldr	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimFindTrimLeft
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L1626
	ldr	r3, [fp, #-36]
	b	.L1628
.L1626:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-16]
	sub	r3, r1, r3
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	mov	r3, r0
.L1628:
	ldr	r2, .L1630
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1629
	bl	__stack_chk_fail
.L1629:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1631:
	.align	2
.L1630:
	.word	.LC253
	.word	default_trim_chars
	.word	default_trim_chars_len
	.size	JimStringTrimLeft, .-JimStringTrimLeft
	.section	.rodata
	.align	2
.LC254:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringTrimRight, %function
JimStringTrimRight:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L1641
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L1641+4
	str	r3, [fp, #-20]
	ldr	r3, .L1641+8
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L1633
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetString
	str	r0, [fp, #-20]
.L1633:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	SetStringFromAny
	ldr	r0, [fp, #-36]
	bl	Jim_Length
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-36]
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	bl	JimFindTrimRight
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1634
	mov	r2, #0
	ldr	r1, .L1641+12
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	mov	r3, r0
	b	.L1639
.L1634:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L1636
	ldr	r3, [fp, #-36]
	b	.L1639
.L1636:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L1637
	ldr	r3, [fp, #-36]
	ldr	r1, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-36]
	b	.L1638
.L1637:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	sub	r2, r2, r3
	ldr	r3, [fp, #-36]
	str	r2, [r3, #12]
.L1638:
	ldr	r3, [fp, #-36]
.L1639:
	ldr	r2, .L1641
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1640
	bl	__stack_chk_fail
.L1640:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1642:
	.align	2
.L1641:
	.word	.LC254
	.word	default_trim_chars
	.word	default_trim_chars_len
	.word	.LC86
	.size	JimStringTrimRight, .-JimStringTrimRight
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringTrim, %function
JimStringTrim:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimStringTrimLeft
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	JimStringTrimRight
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L1644
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L1644
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1644:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimStringTrim, .-JimStringTrim
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	jim_isascii, %function
jim_isascii:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	bic	r3, r3, #127
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	jim_isascii, .-jim_isascii
	.section	.rodata
	.align	2
.LC255:
	.ascii	"class\000"
	.align	2
.LC256:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringIs, %function
JimStringIs:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L1681
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	sub	r3, fp, #60
	mov	r2, #3
	str	r2, [sp, #4]
	ldr	r2, .L1681+4
	str	r2, [sp]
	ldr	r2, .L1681+8
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-64]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L1649
	mov	r3, #1
	b	.L1679
.L1649:
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, [fp, #-68]
	bl	Jim_GetString
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L1651
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1652
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L1652:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	mov	r3, #0
	b	.L1679
.L1651:
	ldr	r3, [fp, #-60]
	cmp	r3, #13
	ldrls	pc, [pc, r3, asl #2]
	b	.L1653
.L1655:
	.word	.L1668
	.word	.L1667
	.word	.L1666
	.word	.L1665
	.word	.L1664
	.word	.L1663
	.word	.L1662
	.word	.L1661
	.word	.L1660
	.word	.L1659
	.word	.L1658
	.word	.L1657
	.word	.L1656
	.word	.L1654
.L1668:
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	JimGetWideNoErr
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1669
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L1669:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	mov	r3, #0
	b	.L1679
.L1663:
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	bne	.L1670
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #34
	beq	.L1670
	mov	r3, #1
	b	.L1671
.L1670:
	mov	r3, #0
.L1671:
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1672
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L1672:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	mov	r3, #0
	b	.L1679
.L1667:
	ldr	r3, .L1681+12
	str	r3, [fp, #-48]
	b	.L1673
.L1666:
	ldr	r3, .L1681+16
	str	r3, [fp, #-48]
	b	.L1673
.L1665:
	ldr	r3, .L1681+20
	str	r3, [fp, #-48]
	b	.L1673
.L1664:
	ldr	r3, .L1681+24
	str	r3, [fp, #-48]
	b	.L1673
.L1662:
	ldr	r3, .L1681+28
	str	r3, [fp, #-48]
	b	.L1673
.L1661:
	ldr	r3, .L1681+32
	str	r3, [fp, #-48]
	b	.L1673
.L1660:
	ldr	r3, .L1681+36
	str	r3, [fp, #-48]
	b	.L1673
.L1659:
	ldr	r3, .L1681+40
	str	r3, [fp, #-48]
	b	.L1673
.L1658:
	ldr	r3, .L1681+44
	str	r3, [fp, #-48]
	b	.L1673
.L1657:
	ldr	r3, .L1681+48
	str	r3, [fp, #-48]
	b	.L1673
.L1656:
	ldr	r3, .L1681+52
	str	r3, [fp, #-48]
	b	.L1673
.L1654:
	ldr	r3, .L1681+56
	str	r3, [fp, #-48]
	b	.L1673
.L1653:
	mov	r3, #1
	b	.L1679
.L1673:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L1674
.L1677:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-48]
	mov	r0, r2
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bne	.L1675
	mov	r1, #0
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1676
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L1676:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	mov	r3, #0
	b	.L1679
.L1675:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L1674:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L1677
	mov	r1, #1
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1678
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L1678:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	mov	r3, #0
.L1679:
	ldr	r2, .L1681
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1680
	bl	__stack_chk_fail
.L1680:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1682:
	.align	2
.L1681:
	.word	.LC256
	.word	.LC255
	.word	strclassnames.12844
	.word	isalpha
	.word	isalnum
	.word	jim_isascii
	.word	isdigit
	.word	islower
	.word	isupper
	.word	isspace
	.word	isxdigit
	.word	iscntrl
	.word	isprint
	.word	isgraph
	.word	ispunct
	.size	JimStringIs, .-JimStringIs
	.section	.rodata
	.align	2
.LC257:
	.ascii	"compared-string\000"
	.align	2
	.type	comparedStringObjType, %object
	.size	comparedStringObjType, 20
comparedStringObjType:
	.word	.LC257
	.word	0
	.word	0
	.word	0
	.word	1
	.text
	.align	2
	.global	Jim_CompareStringImmediate
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CompareStringImmediate, %function
Jim_CompareStringImmediate:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, .L1689
	cmp	r3, r2
	bne	.L1684
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L1684
	mov	r3, #1
	b	.L1685
.L1684:
	ldr	r0, [fp, #-20]
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L1686
	mov	r3, #0
	b	.L1685
.L1686:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, .L1689
	cmp	r3, r2
	beq	.L1687
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1688
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1688
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	blx	r3
.L1688:
	ldr	r3, [fp, #-20]
	ldr	r2, .L1689
	str	r2, [r3, #4]
.L1687:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #16]
	mov	r3, #1
.L1685:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1690:
	.align	2
.L1689:
	.word	comparedStringObjType
	.size	Jim_CompareStringImmediate, .-Jim_CompareStringImmediate
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	qsortCompareStringPointers, %function
qsortCompareStringPointers:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	strcmp
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	qsortCompareStringPointers, .-qsortCompareStringPointers
	.section	.rodata
	.align	2
.LC258:
	.ascii	"source\000"
	.align	2
	.type	sourceObjType, %object
	.size	sourceObjType, 20
sourceObjType:
	.word	.LC258
	.word	FreeSourceInternalRep
	.word	DupSourceInternalRep
	.word	0
	.word	1
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeSourceInternalRep, %function
FreeSourceInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1695
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1695:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeSourceInternalRep, .-FreeSourceInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupSourceInternalRep, %function
DupSourceInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	add	r3, r3, #16
	add	r2, r2, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	DupSourceInternalRep, .-DupSourceInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetSourceInfo, %function
JimSetSourceInfo:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	ldr	r2, .L1698
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L1699:
	.align	2
.L1698:
	.word	sourceObjType
	.size	JimSetSourceInfo, .-JimSetSourceInfo
	.section	.rodata
	.align	2
.LC259:
	.ascii	"scriptline\000"
	.align	2
	.type	scriptLineObjType, %object
	.size	scriptLineObjType, 20
scriptLineObjType:
	.word	.LC259
	.word	0
	.word	0
	.word	0
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimNewScriptLineObj, %function
JimNewScriptLineObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r2, #0
	ldr	r1, .L1702
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L1702+4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1703:
	.align	2
.L1702:
	.word	.LC86
	.word	scriptLineObjType
	.size	JimNewScriptLineObj, .-JimNewScriptLineObj
	.section	.rodata
	.align	2
.LC260:
	.ascii	"script\000"
	.align	2
	.type	scriptObjType, %object
	.size	scriptObjType, 20
scriptObjType:
	.word	.LC260
	.word	FreeScriptInternalRep
	.word	DupScriptInternalRep
	.word	0
	.word	1
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeScriptInternalRep, %function
FreeScriptInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	bne	.L1711
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L1707
.L1709:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1708
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1708:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L1707:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L1709
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1710
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1710:
	ldr	r0, [fp, #-8]
	bl	Jim_Free
	b	.L1704
.L1711:
	nop
.L1704:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeScriptInternalRep, .-FreeScriptInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupScriptInternalRep, %function
DupScriptInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	DupScriptInternalRep, .-DupScriptInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ScriptTokenListInit, %function
ScriptTokenListInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r2, r3, #12
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #20
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ScriptTokenListInit, .-ScriptTokenListInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ScriptTokenListFree, %function
ScriptTokenListFree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	cmp	r2, r3
	beq	.L1716
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
.L1716:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ScriptTokenListFree, .-ScriptTokenListFree
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ScriptAddToken, %function
ScriptAddToken:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L1718
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #12
	cmp	r2, r3
	beq	.L1719
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	Jim_Realloc
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	b	.L1718
.L1719:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #4
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r0, [r3]
	ldr	r3, [fp, #-16]
	add	r1, r3, #12
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #4
	mov	r2, r3
	bl	memcpy
.L1718:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r0, r3, #1
	ldr	r1, [fp, #-16]
	str	r0, [r1, #8]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #4]
	str	r2, [r3, #12]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ScriptAddToken, .-ScriptAddToken
	.section	.rodata
	.align	2
.LC261:
	.ascii	"expand\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCountWordTokens, %function
JimCountWordTokens:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bne	.L1725
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r3, [r3, #8]
	cmp	r3, #5
	ble	.L1722
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r3, [r3, #8]
	cmp	r3, #8
	ble	.L1725
.L1722:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	bne	.L1723
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L1724
.L1723:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #6
	bne	.L1725
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, #6
	ldr	r1, .L1728
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1725
.L1724:
	mvn	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	str	r3, [fp, #-16]
	b	.L1725
.L1726:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L1725:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	ble	.L1726
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #8
	bgt	.L1726
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	mul	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1729:
	.align	2
.L1728:
	.word	.LC261
	.size	JimCountWordTokens, .-JimCountWordTokens
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimMakeScriptObj, %function
JimMakeScriptObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #2
	bne	.L1731
	ldr	r3, [fp, #-28]
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r2, r3
	mov	r1, #92
	bl	memchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L1731
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	JimEscape
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObjNoAlloc
	str	r0, [fp, #-16]
	b	.L1732
.L1731:
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
.L1732:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimMakeScriptObj, .-JimMakeScriptObj
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ScriptObjAddTokens, %function
ScriptObjAddTokens:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L1735
.L1737:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	cmp	r3, #7
	bne	.L1736
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L1736:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L1735:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L1737
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	add	r2, r3, #8
	str	r2, [fp, #-32]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L1738
.L1740:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L1739:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	cmp	r3, #6
	beq	.L1740
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	r0, r3
	bl	JimCountWordTokens
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1741
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1742
	ldr	r3, [fp, #-24]
	mov	r2, #9
	str	r2, [r3, #4]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	JimNewScriptLineObj
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r2, r3, #8
	str	r2, [fp, #-32]
	str	r3, [fp, #-24]
.L1742:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L1738
.L1741:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L1743
	ldr	r3, [fp, #-32]
	mov	r2, #10
	str	r2, [r3, #4]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L1743
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-12]
	mvn	r3, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L1743:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1744
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #12]
	str	r3, [fp, #-16]
.L1744:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L1745
.L1746:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r1, r3, #1
	str	r1, [fp, #-36]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-40]
	bl	JimMakeScriptObj
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r1, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r0, [fp, #-40]
	bl	JimSetSourceInfo
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	str	r3, [fp, #-32]
.L1745:
	ldr	r3, [fp, #-12]
	sub	r2, r3, #1
	str	r2, [fp, #-12]
	cmp	r3, #0
	bne	.L1746
.L1738:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	blt	.L1739
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L1748
	ldr	r3, [fp, #-32]
	sub	r3, r3, #8
	str	r3, [fp, #-32]
.L1748:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	sub	r3, r2, r3
	asr	r3, r3, #3
	mov	r2, r3
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ScriptObjAddTokens, .-ScriptObjAddTokens
	.align	2
	.global	Jim_ScriptIsComplete
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ScriptIsComplete, %function
Jim_ScriptIsComplete:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimGetScript
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L1750
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	strb	r2, [r3]
.L1750:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	cmp	r3, #32
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ScriptIsComplete, .-Jim_ScriptIsComplete
	.section	.rodata
	.align	2
.LC262:
	.ascii	"unmatched \"[\"\000"
	.align	2
.LC263:
	.ascii	"missing close-brace\000"
	.align	2
.LC264:
	.ascii	"missing quote\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseCheckMissing, %function
JimParseCheckMissing:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #123
	beq	.L1753
	ldr	r3, [fp, #-20]
	cmp	r3, #123
	bgt	.L1754
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	beq	.L1755
	ldr	r3, [fp, #-20]
	cmp	r3, #92
	bgt	.L1754
	ldr	r3, [fp, #-20]
	cmp	r3, #32
	beq	.L1755
	ldr	r3, [fp, #-20]
	cmp	r3, #91
	beq	.L1756
	b	.L1754
.L1755:
	mov	r3, #0
	b	.L1757
.L1756:
	ldr	r3, .L1760
	str	r3, [fp, #-12]
	b	.L1758
.L1753:
	ldr	r3, .L1760+4
	str	r3, [fp, #-12]
	b	.L1758
.L1754:
	ldr	r3, .L1760+8
	str	r3, [fp, #-12]
	nop
.L1758:
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1759
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1759:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
.L1757:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1761:
	.align	2
.L1760:
	.word	.LC262
	.word	.LC263
	.word	.LC264
	.size	JimParseCheckMissing, .-JimParseCheckMissing
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SubstObjAddTokens, %function
SubstObjAddTokens:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L1763
.L1764:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	JimMakeScriptObj
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L1763:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L1764
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	SubstObjAddTokens, .-SubstObjAddTokens
	.section	.rodata
	.align	2
.LC265:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetScriptFromAny, %function
JimSetScriptFromAny:
	@ args = 0, pretend = 0, frame = 408
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #416
	str	r0, [fp, #-408]
	str	r1, [fp, #-412]
	ldr	r3, .L1773
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #404
	mov	r1, r3
	ldr	r0, [fp, #-412]
	bl	Jim_GetString
	str	r0, [fp, #-396]
	mov	r3, #1
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	ldr	r2, .L1773+4
	cmp	r3, r2
	bne	.L1766
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-400]
.L1766:
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListInit
	ldr	r2, [fp, #-404]
	sub	r0, fp, #388
	ldr	r3, [fp, #-400]
	ldr	r1, [fp, #-396]
	bl	JimParserInit
	b	.L1767
.L1768:
	sub	r3, fp, #388
	mov	r0, r3
	bl	JimParseScript
	ldr	r1, [fp, #-376]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	ip, [fp, #-364]
	ldr	r3, [fp, #-368]
	sub	r0, fp, #340
	str	r3, [sp]
	mov	r3, ip
	bl	ScriptAddToken
.L1767:
	ldr	r3, [fp, #-360]
	cmp	r3, #0
	beq	.L1768
	ldr	r3, [fp, #-404]
	mov	r2, r3
	ldr	r3, [fp, #-396]
	add	r1, r3, r2
	sub	r0, fp, #340
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #8
	mov	r2, #0
	bl	ScriptAddToken
	mov	r0, #32
	bl	Jim_Alloc
	str	r0, [fp, #-392]
	mov	r2, #32
	mov	r1, #0
	ldr	r0, [fp, #-392]
	bl	memset
	ldr	r3, [fp, #-392]
	mov	r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	ldr	r2, .L1773+4
	cmp	r3, r2
	bne	.L1769
	ldr	r3, [fp, #-412]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #4]
	b	.L1770
.L1769:
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #4]
.L1770:
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r2, [fp, #-348]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #28]
	ldr	r2, [fp, #-344]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #24]
	sub	r3, fp, #340
	mov	r2, r3
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-408]
	bl	ScriptObjAddTokens
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListFree
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1771
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1771
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-412]
	ldr	r0, [fp, #-408]
	blx	r3
.L1771:
	ldr	r3, [fp, #-412]
	ldr	r2, [fp, #-392]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-412]
	ldr	r2, .L1773+8
	str	r2, [r3, #4]
	nop
	ldr	r3, .L1773
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1772
	bl	__stack_chk_fail
.L1772:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1774:
	.align	2
.L1773:
	.word	.LC265
	.word	sourceObjType
	.word	scriptObjType
	.size	JimSetScriptFromAny, .-JimSetScriptFromAny
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGetScript, %function
JimGetScript:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #124]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L1776
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #120]
	str	r3, [fp, #-12]
.L1776:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L1780
	cmp	r3, r2
	bne	.L1777
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L1778
.L1777:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimSetScriptFromAny
.L1778:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1781:
	.align	2
.L1780:
	.word	scriptObjType
	.size	JimGetScript, .-JimGetScript
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimScriptValid, %function
JimScriptValid:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #28]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	JimParseCheckMissing
	mov	r3, r0
	cmp	r3, #1
	bne	.L1783
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimAddErrorToStack
	mov	r3, #0
	b	.L1784
.L1783:
	mov	r3, #1
.L1784:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimScriptValid, .-JimScriptValid
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimIncrCmdRefCount, %function
JimIncrCmdRefCount:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimIncrCmdRefCount, .-JimIncrCmdRefCount
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDecrCmdRefCount, %function
JimDecrCmdRefCount:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L1794
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1788
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1789
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1789:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1790
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1790:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1791
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1791:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L1792
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	Jim_FreeHashTable
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	mov	r0, r3
	bl	Jim_Free
	b	.L1792
.L1788:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L1792
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-12]
	ldr	r2, [r2, #20]
	mov	r1, r2
	ldr	r0, [fp, #-8]
	blx	r3
.L1792:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1793
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	JimDecrCmdRefCount
.L1793:
	ldr	r0, [fp, #-12]
	bl	Jim_Free
.L1794:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimDecrCmdRefCount, .-JimDecrCmdRefCount
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimVariablesHTValDestructor, %function
JimVariablesHTValDestructor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1796
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1796:
	ldr	r0, [fp, #-12]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimVariablesHTValDestructor, .-JimVariablesHTValDestructor
	.section	.rodata
	.align	2
	.type	JimVariablesHashTableType, %object
	.size	JimVariablesHashTableType, 24
JimVariablesHashTableType:
	.word	JimStringCopyHTHashFunction
	.word	JimStringCopyHTDup
	.word	0
	.word	JimStringCopyHTKeyCompare
	.word	JimStringCopyHTKeyDestructor
	.word	JimVariablesHTValDestructor
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCommandsHT_ValDestructor, %function
JimCommandsHT_ValDestructor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimDecrCmdRefCount
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimCommandsHT_ValDestructor, .-JimCommandsHT_ValDestructor
	.section	.rodata
	.align	2
	.type	JimCommandsHashTableType, %object
	.size	JimCommandsHashTableType, 24
JimCommandsHashTableType:
	.word	JimStringCopyHTHashFunction
	.word	JimStringCopyHTDup
	.word	0
	.word	JimStringCopyHTKeyCompare
	.word	JimStringCopyHTKeyDestructor
	.word	JimCommandsHT_ValDestructor
	.text
	.align	2
	.global	Jim_MakeGlobalNamespaceName
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_MakeGlobalNamespaceName, %function
Jim_MakeGlobalNamespaceName:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_MakeGlobalNamespaceName, .-Jim_MakeGlobalNamespaceName
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreateCommand, %function
JimCreateCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #64
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1801
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #96]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #96]
.L1801:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1802
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #104]
	cmp	r3, #0
	beq	.L1802
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L1803
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #68]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-16]
	ldr	r2, [r2, #72]
	ldr	r1, [fp, #-24]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L1805
.L1803:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	b	.L1805
.L1802:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1806
	ldr	r3, [fp, #-16]
	add	r3, r3, #64
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_DeleteHashEntry
.L1806:
	ldr	r3, [fp, #-16]
	add	r3, r3, #64
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_AddHashEntry
.L1805:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimCreateCommand, .-JimCreateCommand
	.align	2
	.global	Jim_CreateCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CreateCommand, %function
Jim_CreateCommand:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r0, #52
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	mov	r2, #52
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #4]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #20]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimCreateCommand
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_CreateCommand, .-Jim_CreateCommand
	.section	.rodata
	.align	2
.LC266:
	.ascii	"variable for initialization of static \"%#s\" not f"
	.ascii	"ound in the local context\000"
	.align	2
.LC267:
	.ascii	"static variable\000"
	.align	2
.LC268:
	.ascii	"static variable name \"%#s\" duplicated in statics "
	.ascii	"list\000"
	.align	2
.LC269:
	.ascii	"too many fields in static specifier \"%#s\"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreateProcedureStatics, %function
JimCreateProcedureStatics:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-48]
	bl	Jim_ListLength
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L1811
	mov	r3, #0
	b	.L1812
.L1811:
	mov	r0, #32
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-52]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-48]
	ldr	r1, .L1823
	mov	r0, r3
	bl	Jim_InitHashTable
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L1813
.L1822:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-48]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-28]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-48]
	bl	Jim_ListLength
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	beq	.L1814
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	bne	.L1815
.L1814:
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-48]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L1816
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-48]
	bl	Jim_GetVariable
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L1817
	ldr	r2, [fp, #-20]
	ldr	r1, .L1823+4
	ldr	r0, [fp, #-48]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L1812
.L1816:
	mov	r2, #1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-48]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-36]
.L1817:
	ldr	r2, [fp, #-20]
	ldr	r1, .L1823+8
	ldr	r0, [fp, #-48]
	bl	JimValidName
	mov	r3, r0
	cmp	r3, #0
	beq	.L1818
	mov	r3, #1
	b	.L1812
.L1818:
	mov	r0, #8
	bl	Jim_Alloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	ldr	r4, [r3, #20]
	ldr	r0, [fp, #-20]
	bl	Jim_String
	mov	r3, r0
	ldr	r2, [fp, #-16]
	mov	r1, r3
	mov	r0, r4
	bl	Jim_AddHashEntry
	mov	r3, r0
	cmp	r3, #0
	beq	.L1821
	ldr	r2, [fp, #-20]
	ldr	r1, .L1823+12
	ldr	r0, [fp, #-48]
	bl	Jim_SetResultFormatted
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1820
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L1820:
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	mov	r3, #1
	b	.L1812
.L1815:
	ldr	r2, [fp, #-28]
	ldr	r1, .L1823+16
	ldr	r0, [fp, #-48]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L1812
.L1821:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L1813:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L1822
	mov	r3, #0
.L1812:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L1824:
	.align	2
.L1823:
	.word	JimVariablesHashTableType
	.word	.LC266
	.word	.LC267
	.word	.LC268
	.word	.LC269
	.size	JimCreateProcedureStatics, .-JimCreateProcedureStatics
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimUpdateProcNamespace, %function
JimUpdateProcNamespace:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimUpdateProcNamespace, .-JimUpdateProcNamespace
	.section	.rodata
	.align	2
.LC270:
	.ascii	"argument with no name\000"
	.align	2
.LC271:
	.ascii	"too many fields in argument specifier \"%#s\"\000"
	.align	2
.LC272:
	.ascii	"args\000"
	.align	2
.LC273:
	.ascii	"'args' specified more than once\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreateProcedureCmd, %function
JimCreateProcedureCmd:
	@ args = 4, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	Jim_ListLength
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #3
	add	r3, r3, #52
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-24]
	mov	r2, #52
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	memset
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-52]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	mvn	r2, #0
	str	r2, [r3, #36]
	ldr	r3, [fp, #-24]
	add	r2, r3, #52
	ldr	r3, [fp, #-24]
	str	r2, [r3, #44]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	bne	.L1827
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #124]
	b	.L1828
.L1827:
	ldr	r3, [fp, #4]
.L1828:
	ldr	r2, [fp, #-24]
	str	r3, [r2, #48]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L1829
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-48]
	bl	JimCreateProcedureStatics
	mov	r3, r0
	cmp	r3, #0
	bne	.L1844
.L1829:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L1831
.L1843:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-48]
	bl	Jim_ListLength
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1832
	mvn	r2, #0
	ldr	r1, .L1845
	ldr	r0, [fp, #-48]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1833
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L1833:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L1830
.L1844:
	nop
.L1830:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-48]
	bl	JimDecrCmdRefCount
	mov	r3, #0
	b	.L1834
.L1832:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	ble	.L1835
	ldr	r2, [fp, #-20]
	ldr	r1, .L1845+4
	ldr	r0, [fp, #-48]
	bl	Jim_SetResultFormatted
	b	.L1830
.L1835:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L1836
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-48]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-36]
	mov	r2, #1
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-48]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-32]
	b	.L1837
.L1836:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
.L1837:
	ldr	r2, .L1845+8
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-48]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L1838
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	blt	.L1839
	mvn	r2, #0
	ldr	r1, .L1845+12
	ldr	r0, [fp, #-48]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1840
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L1840:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L1830
.L1839:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-40]
	str	r2, [r3, #36]
	b	.L1841
.L1838:
	ldr	r3, [fp, #-16]
	cmp	r3, #2
	bne	.L1842
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #32]
	b	.L1841
.L1842:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #28]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #28]
.L1841:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L1831:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L1843
	ldr	r3, [fp, #-24]
.L1834:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1846:
	.align	2
.L1845:
	.word	.LC270
	.word	.LC271
	.word	.LC272
	.word	.LC273
	.size	JimCreateProcedureCmd, .-JimCreateProcedureCmd
	.section	.rodata
	.align	2
.LC274:
	.ascii	"can't delete \"%s\": command doesn't exist\000"
	.text
	.align	2
	.global	Jim_DeleteCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DeleteCommand, %function
Jim_DeleteCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1848
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1848
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	b	.L1849
.L1848:
	ldr	r3, [fp, #-20]
.L1849:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #64
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	Jim_DeleteHashEntry
	mov	r3, r0
	cmp	r3, #1
	bne	.L1850
	ldr	r2, [fp, #-20]
	ldr	r1, .L1853
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1851
.L1850:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #96]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #96]
.L1851:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1854:
	.align	2
.L1853:
	.word	.LC274
	.size	Jim_DeleteCommand, .-Jim_DeleteCommand
	.section	.rodata
	.align	2
.LC275:
	.ascii	"can't rename \"%s\": command doesn't exist\000"
	.align	2
.LC276:
	.ascii	"can't rename to \"%s\": command already exists\000"
	.text
	.align	2
	.global	Jim_RenameCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RenameCommand, %function
Jim_RenameCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L1856
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_DeleteCommand
	mov	r3, r0
	b	.L1857
.L1856:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1858
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1858
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	b	.L1859
.L1858:
	ldr	r3, [fp, #-36]
.L1859:
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1860
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1860
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	b	.L1861
.L1860:
	ldr	r3, [fp, #-40]
.L1861:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	add	r3, r3, #64
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1862
	ldr	r2, [fp, #-36]
	ldr	r1, .L1865
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	b	.L1863
.L1862:
	ldr	r3, [fp, #-32]
	add	r3, r3, #64
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Jim_FindHashEntry
	mov	r3, r0
	cmp	r3, #0
	beq	.L1864
	ldr	r2, [fp, #-40]
	ldr	r1, .L1865+4
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	b	.L1863
.L1864:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	JimIncrCmdRefCount
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-32]
	bl	JimUpdateProcNamespace
	ldr	r3, [fp, #-32]
	add	r3, r3, #64
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Jim_AddHashEntry
	ldr	r3, [fp, #-32]
	add	r3, r3, #64
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_DeleteHashEntry
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #96]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #96]
	mov	r3, #0
	str	r3, [fp, #-24]
.L1863:
	ldr	r3, [fp, #-24]
.L1857:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1866:
	.align	2
.L1865:
	.word	.LC275
	.word	.LC276
	.size	Jim_RenameCommand, .-Jim_RenameCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeCommandInternalRep, %function
FreeCommandInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1869
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L1869:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeCommandInternalRep, .-FreeCommandInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupCommandInternalRep, %function
DupCommandInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	add	r3, r3, #16
	add	r2, r2, #16
	ldm	r2, {r0, r1, r2}
	stm	r3, {r0, r1, r2}
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	DupCommandInternalRep, .-DupCommandInternalRep
	.section	.rodata
	.align	2
.LC277:
	.ascii	"command\000"
	.align	2
	.type	commandObjType, %object
	.size	commandObjType, 20
commandObjType:
	.word	.LC277
	.word	FreeCommandInternalRep
	.word	DupCommandInternalRep
	.word	0
	.word	1
	.align	2
.LC278:
	.ascii	"invalid command name \"%#s\"\000"
	.text
	.align	2
	.global	Jim_GetCommand
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetCommand, %function
Jim_GetCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, .L1883
	cmp	r3, r2
	bne	.L1872
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #96]
	cmp	r2, r3
	beq	.L1873
.L1872:
	ldr	r0, [fp, #-28]
	bl	Jim_String
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1874
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1874
.L1875:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1875
.L1874:
	ldr	r3, [fp, #-24]
	add	r3, r3, #64
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L1876
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1877
	ldr	r2, [fp, #-28]
	ldr	r1, .L1883+4
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
.L1877:
	mov	r3, #0
	b	.L1878
.L1876:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1879
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1879
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
.L1879:
	ldr	r3, [fp, #-28]
	ldr	r2, .L1883
	str	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #96]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #68]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #68]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	b	.L1880
.L1873:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-16]
.L1880:
	b	.L1881
.L1882:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
.L1881:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L1882
	ldr	r3, [fp, #-16]
.L1878:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1884:
	.align	2
.L1883:
	.word	commandObjType
	.word	.LC278
	.size	Jim_GetCommand, .-Jim_GetCommand
	.section	.rodata
	.align	2
.LC279:
	.ascii	"variable\000"
	.align	2
	.type	variableObjType, %object
	.size	variableObjType, 20
variableObjType:
	.word	.LC279
	.word	0
	.word	0
	.word	0
	.word	1
	.align	2
.LC280:
	.ascii	"%s name contains embedded null\000"
	.align	2
.LC281:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimValidName, %function
JimValidName:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L1890
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, .L1890+4
	cmp	r3, r2
	beq	.L1886
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L1886
	ldr	r2, [fp, #-28]
	ldr	r1, .L1890+8
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L1888
.L1886:
	mov	r3, #0
.L1888:
	ldr	r2, .L1890
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1889
	bl	__stack_chk_fail
.L1889:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1891:
	.align	2
.L1890:
	.word	.LC281
	.word	variableObjType
	.word	.LC280
	.size	JimValidName, .-JimValidName
	.section	.rodata
	.align	2
.LC282:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetVariableFromAny, %function
SetVariableFromAny:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L1908
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r2, .L1908+4
	cmp	r3, r2
	bne	.L1893
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1894
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	b	.L1895
.L1894:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
.L1895:
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L1896
	mov	r3, #0
	b	.L1906
.L1893:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r2, .L1908+8
	cmp	r3, r2
	bne	.L1898
	mov	r3, #100
	b	.L1906
.L1898:
	ldr	r2, [fp, #-36]
	ldr	r1, .L1908+12
	ldr	r0, [fp, #-32]
	bl	JimValidName
	mov	r3, r0
	cmp	r3, #0
	beq	.L1896
	mov	r3, #1
	b	.L1906
.L1896:
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	Jim_GetString
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L1899
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L1899
	mov	r1, #40
	ldr	r0, [fp, #-24]
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L1899
	mov	r3, #100
	b	.L1906
.L1899:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1900
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1900
.L1901:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1901
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-20]
	b	.L1902
.L1900:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-20]
.L1902:
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1903
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1904
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L1904
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #40]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-16]
.L1904:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L1903
	mov	r3, #1
	b	.L1906
.L1903:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1905
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1905
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	blx	r3
.L1905:
	ldr	r3, [fp, #-36]
	ldr	r2, .L1908+4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
	mov	r3, #0
.L1906:
	ldr	r2, .L1908
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L1907
	bl	__stack_chk_fail
.L1907:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1909:
	.align	2
.L1908:
	.word	.LC282
	.word	variableObjType
	.word	dictSubstObjType
	.word	.LC279
	.size	SetVariableFromAny, .-SetVariableFromAny
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreateVariable, %function
JimCreateVariable:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r0, #8
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r0, [fp, #-28]
	bl	Jim_String
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1911
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1911
.L1912:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1912
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L1913
.L1911:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
.L1913:
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_AddHashEntry
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1914
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1914
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
.L1914:
	ldr	r3, [fp, #-28]
	ldr	r2, .L1916
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1917:
	.align	2
.L1916:
	.word	variableObjType
	.size	JimCreateVariable, .-JimCreateVariable
	.align	2
	.global	Jim_SetVariable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetVariable, %function
Jim_SetVariable:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetVariableFromAny
	mov	r3, r0
	cmp	r3, #100
	beq	.L1919
	cmp	r3, #100
	bgt	.L1920
	cmp	r3, #0
	beq	.L1921
	cmp	r3, #1
	beq	.L1922
	b	.L1920
.L1919:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimDictSugarSet
	mov	r3, r0
	b	.L1923
.L1922:
	ldr	r2, [fp, #-28]
	ldr	r1, .L1927
	ldr	r0, [fp, #-24]
	bl	JimValidName
	mov	r3, r0
	cmp	r3, #0
	beq	.L1924
	mov	r3, #1
	b	.L1923
.L1924:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimCreateVariable
	b	.L1920
.L1921:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1925
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1926
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L1926:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	b	.L1920
.L1925:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1920
	ldr	r3, [fp, #-8]
	b	.L1923
.L1920:
	mov	r3, #0
.L1923:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1928:
	.align	2
.L1927:
	.word	.LC279
	.size	Jim_SetVariable, .-Jim_SetVariable
	.align	2
	.global	Jim_SetVariableStr
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetVariableStr, %function
Jim_SetVariableStr:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_SetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1930
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1930:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SetVariableStr, .-Jim_SetVariableStr
	.align	2
	.global	Jim_SetGlobalVariableStr
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetGlobalVariableStr, %function
Jim_SetGlobalVariableStr:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_SetVariableStr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SetGlobalVariableStr, .-Jim_SetGlobalVariableStr
	.align	2
	.global	Jim_SetVariableStrWithStr
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetVariableStrWithStr, %function
Jim_SetVariableStrWithStr:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mvn	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
	mvn	r2, #0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1935
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L1935:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1936
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L1936:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SetVariableStrWithStr, .-Jim_SetVariableStrWithStr
	.section	.rodata
	.align	2
.LC283:
	.ascii	"bad variable name \"%#s\": upvar won't create a sca"
	.ascii	"lar variable that looks like an array element\000"
	.align	2
.LC284:
	.ascii	"variable \"%#s\" already exists\000"
	.align	2
.LC285:
	.ascii	"bad variable name \"%#s\": upvar won't create names"
	.ascii	"pace variable that refers to procedure variable\000"
	.align	2
.LC286:
	.ascii	"can't upvar from variable to itself\000"
	.text
	.align	2
	.global	Jim_SetVariableLink
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetVariableLink, %function
Jim_SetVariableLink:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	SetVariableFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L1939
	cmp	r3, #100
	bne	.L1940
	ldr	r2, [fp, #-36]
	ldr	r1, .L1960
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L1941
.L1939:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1942
	ldr	r2, [fp, #-36]
	ldr	r1, .L1960+4
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L1941
.L1942:
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
.L1940:
	ldr	r0, [fp, #-36]
	bl	Jim_String
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1943
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1943
.L1944:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1944
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-20]
	b	.L1945
.L1943:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-20]
.L1945:
	ldr	r0, [fp, #-40]
	bl	Jim_String
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1946
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L1946
.L1947:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L1947
	mvn	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-44]
.L1946:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bge	.L1948
	ldr	r2, [fp, #-36]
	ldr	r1, .L1960+8
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1949
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L1949:
	mov	r3, #1
	b	.L1941
.L1948:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bne	.L1950
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-16]
.L1956:
	ldr	r0, [fp, #-16]
	bl	Jim_String
	mov	r3, r0
	ldr	r1, [fp, #-28]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L1951
	mvn	r2, #0
	ldr	r1, .L1960+12
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1952
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L1952:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1953
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L1953:
	mov	r3, #1
	b	.L1941
.L1951:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	SetVariableFromAny
	mov	r3, r0
	cmp	r3, #0
	bne	.L1958
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bne	.L1959
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L1956
.L1958:
	nop
	b	.L1950
.L1959:
	nop
.L1950:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_SetVariable
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1957
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L1957:
	mov	r3, #0
.L1941:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1961:
	.align	2
.L1960:
	.word	.LC283
	.word	.LC284
	.word	.LC285
	.word	.LC286
	.size	Jim_SetVariableLink, .-Jim_SetVariableLink
	.section	.rodata
	.align	2
.LC287:
	.ascii	"can't read \"%#s\": no such variable\000"
	.text
	.align	2
	.global	Jim_GetVariable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetVariable, %function
Jim_GetVariable:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetVariableFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L1963
	cmp	r3, #100
	beq	.L1964
	b	.L1965
.L1963:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L1966
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	b	.L1967
.L1966:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L1970
	ldr	r3, [fp, #-8]
	b	.L1967
.L1964:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimDictSugarGet
	mov	r3, r0
	b	.L1967
.L1970:
	nop
.L1965:
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1969
	ldr	r2, [fp, #-28]
	ldr	r1, .L1971
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
.L1969:
	mov	r3, #0
.L1967:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1972:
	.align	2
.L1971:
	.word	.LC287
	.size	Jim_GetVariable, .-Jim_GetVariable
	.align	2
	.global	Jim_GetGlobalVariable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetGlobalVariable, %function
Jim_GetGlobalVariable:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetGlobalVariable, .-Jim_GetGlobalVariable
	.align	2
	.global	Jim_GetVariableStr
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetVariableStr, %function
Jim_GetVariableStr:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1976
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1976:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetVariableStr, .-Jim_GetVariableStr
	.align	2
	.global	Jim_GetGlobalVariableStr
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetGlobalVariableStr, %function
Jim_GetGlobalVariableStr:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariableStr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetGlobalVariableStr, .-Jim_GetGlobalVariableStr
	.section	.rodata
	.align	2
.LC288:
	.ascii	"can't unset \"%#s\": no such variable\000"
	.text
	.align	2
	.global	Jim_UnsetVariable
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_UnsetVariable, %function
Jim_UnsetVariable:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetVariableFromAny
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #100
	bne	.L1981
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimDictSugarSet
	mov	r3, r0
	b	.L1982
.L1981:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1983
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L1984
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_UnsetVariable
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #56]
	b	.L1983
.L1984:
	ldr	r0, [fp, #-28]
	bl	Jim_String
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #24]
	cmp	r3, #0
	beq	.L1985
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #60]
	str	r3, [fp, #-16]
	b	.L1986
.L1985:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-16]
.L1986:
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	Jim_DeleteHashEntry
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L1983
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #100]
	add	r1, r3, #1
	ldr	r2, [fp, #-24]
	str	r1, [r2, #100]
	ldr	r2, [fp, #-16]
	str	r3, [r2]
.L1983:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L1987
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L1987
	ldr	r2, [fp, #-28]
	ldr	r1, .L1988
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
.L1987:
	ldr	r3, [fp, #-20]
.L1982:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1989:
	.align	2
.L1988:
	.word	.LC288
	.size	Jim_UnsetVariable, .-Jim_UnsetVariable
	.section	.rodata
	.align	2
.LC289:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictSugarParseVarKey, %function
JimDictSugarParseVarKey:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, .L1993
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	Jim_GetString
	str	r0, [fp, #-24]
	mov	r1, #40
	ldr	r0, [fp, #-24]
	bl	strchr
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r2, r3, r2
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L1991
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L1991:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	ldr	r3, .L1993
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L1992
	bl	__stack_chk_fail
.L1992:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L1994:
	.align	2
.L1993:
	.word	.LC289
	.size	JimDictSugarParseVarKey, .-JimDictSugarParseVarKey
	.section	.rodata
	.align	2
.LC290:
	.ascii	"can't unset \"%#s\": no such element in array\000"
	.align	2
.LC291:
	.ascii	"can't %s \"%#s\": variable isn't array\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictSugarSet, %function
JimDictSugarSet:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	SetDictSubstFromAny
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-20]
	add	r2, r3, #20
	mov	r3, #8
	str	r3, [sp, #4]
	ldr	r3, [fp, #-24]
	str	r3, [sp]
	mov	r3, #1
	ldr	r0, [fp, #-16]
	bl	Jim_SetDictKeysVector
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L1996
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L1997
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L1997:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L1998
.L1996:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L1999
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L1999
	ldr	r2, [fp, #-20]
	ldr	r1, .L2003
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	ldr	r3, [fp, #-12]
	b	.L2000
.L1999:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2001
	ldr	r2, .L2003+4
	b	.L2002
.L2001:
	ldr	r2, .L2003+8
.L2002:
	ldr	r3, [fp, #-20]
	ldr	r1, .L2003+12
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
.L1998:
	ldr	r3, [fp, #-12]
.L2000:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2004:
	.align	2
.L2003:
	.word	.LC290
	.word	.LC223
	.word	.LC225
	.word	.LC291
	.size	JimDictSugarSet, .-JimDictSugarSet
	.section	.rodata
	.align	2
.LC292:
	.ascii	"variable isn't\000"
	.align	2
.LC293:
	.ascii	"no such element in\000"
	.align	2
.LC294:
	.ascii	"can't read \"%#s(%#s)\": %s array\000"
	.align	2
.LC295:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictExpandArrayVariable, %function
JimDictExpandArrayVariable:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L2014
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r2, #1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2006
	mov	r3, #0
	b	.L2012
.L2006:
	sub	r3, fp, #20
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_DictKey
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2008
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L2009
	ldr	r3, .L2014+4
	b	.L2010
.L2009:
	ldr	r3, .L2014+8
.L2010:
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r1, .L2014+12
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	b	.L2011
.L2008:
	ldr	r3, [fp, #-36]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L2011
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L2011
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_DuplicateObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
.L2011:
	ldr	r3, [fp, #-20]
.L2012:
	ldr	r2, .L2014
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2013
	bl	__stack_chk_fail
.L2013:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2015:
	.align	2
.L2014:
	.word	.LC295
	.word	.LC292
	.word	.LC293
	.word	.LC294
	.size	JimDictExpandArrayVariable, .-JimDictExpandArrayVariable
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictSugarGet, %function
JimDictSugarGet:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetDictSubstFromAny
	ldr	r3, [fp, #-12]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	JimDictExpandArrayVariable
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimDictSugarGet, .-JimDictSugarGet
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeDictSubstInternalRep, %function
FreeDictSubstInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2019
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L2019:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2021
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L2021:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeDictSubstInternalRep, .-FreeDictSubstInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupDictSubstInternalRep, %function
DupDictSubstInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-16]
	ldr	r2, .L2023
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L2024:
	.align	2
.L2023:
	.word	dictSubstObjType
	.size	DupDictSubstInternalRep, .-DupDictSubstInternalRep
	.section	.rodata
	.align	2
.LC296:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetDictSubstFromAny, %function
SetDictSubstFromAny:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2032
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, .L2032+4
	cmp	r3, r2
	beq	.L2031
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, .L2032+8
	cmp	r3, r2
	bne	.L2027
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	b	.L2028
.L2027:
	sub	r3, fp, #12
	sub	r2, fp, #16
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimDictSugarParseVarKey
.L2028:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2029
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2029
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
.L2029:
	ldr	r3, [fp, #-28]
	ldr	r2, .L2032+4
	str	r2, [r3, #4]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #20]
.L2031:
	nop
	ldr	r3, .L2032
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2030
	bl	__stack_chk_fail
.L2030:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2033:
	.align	2
.L2032:
	.word	.LC296
	.word	dictSubstObjType
	.word	interpolatedObjType
	.size	SetDictSubstFromAny, .-SetDictSubstFromAny
	.section	.rodata
	.align	2
.LC297:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExpandDictSugar, %function
JimExpandDictSugar:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2040
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetDictSubstFromAny
	ldr	r3, [fp, #-28]
	ldr	r1, [r3, #20]
	sub	r2, fp, #16
	mov	r3, #0
	ldr	r0, [fp, #-24]
	bl	Jim_SubstObj
	mov	r3, r0
	cmp	r3, #0
	beq	.L2035
	mov	r3, #0
	b	.L2038
.L2035:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3, #16]
	ldr	r2, [fp, #-16]
	mov	r3, #0
	ldr	r0, [fp, #-24]
	bl	JimDictExpandArrayVariable
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2037
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2037:
	ldr	r3, [fp, #-12]
.L2038:
	ldr	r2, .L2040
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2039
	bl	__stack_chk_fail
.L2039:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2041:
	.align	2
.L2040:
	.word	.LC297
	.size	JimExpandDictSugar, .-JimExpandDictSugar
	.section	.rodata
	.align	2
.LC298:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExpandExprSugar, %function
JimExpandExprSugar:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, .L2047
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #12
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_EvalExpression
	mov	r3, r0
	cmp	r3, #0
	bne	.L2043
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	b	.L2045
.L2043:
	mov	r3, #0
.L2045:
	ldr	r2, .L2047
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2046
	bl	__stack_chk_fail
.L2046:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2048:
	.align	2
.L2047:
	.word	.LC298
	.size	JimExpandExprSugar, .-JimExpandExprSugar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCreateCallFrame, %function
JimCreateCallFrame:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #204]
	cmp	r3, #0
	beq	.L2050
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #204]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #204]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #64]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #80]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #88]
	b	.L2051
.L2050:
	mov	r0, #92
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	mov	r2, #92
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldr	r2, [fp, #-16]
	ldr	r1, .L2055
	mov	r0, r3
	bl	Jim_InitHashTable
.L2051:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #100]
	add	r1, r3, #1
	ldr	r2, [fp, #-16]
	str	r1, [r2, #100]
	ldr	r2, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2052
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	add	r3, r3, #1
	b	.L2053
.L2052:
	mov	r3, #0
.L2053:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2056:
	.align	2
.L2055:
	.word	JimVariablesHashTableType
	.size	JimCreateCallFrame, .-JimCreateCallFrame
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDeleteLocalProcs, %function
JimDeleteLocalProcs:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2058
	b	.L2059
.L2065:
	ldr	r3, [fp, #-32]
	add	r3, r3, #64
	str	r3, [fp, #-24]
	ldr	r0, [fp, #-28]
	bl	Jim_String
	mov	r3, r0
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2060
	ldr	r0, [fp, #-28]
	bl	Jim_String
	mov	r3, r0
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L2060
	ldr	r0, [fp, #-28]
	bl	Jim_String
	mov	r3, r0
	add	r3, r3, #2
	b	.L2061
.L2060:
	ldr	r0, [fp, #-28]
	bl	Jim_String
	mov	r3, r0
.L2061:
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_FindHashEntry
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L2062
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L2063
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	JimDecrCmdRefCount
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L2064
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	ldr	r2, [r2, #8]
	ldr	r1, [fp, #-8]
	mov	r0, r2
	blx	r3
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L2062
.L2064:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	b	.L2062
.L2063:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_DeleteHashEntry
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #96]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #96]
.L2062:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2059
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L2059:
	ldr	r0, [fp, #-36]
	bl	Jim_StackPop
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2065
	ldr	r0, [fp, #-36]
	bl	Jim_FreeStack
	ldr	r0, [fp, #-36]
	bl	Jim_Free
.L2058:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimDeleteLocalProcs, .-JimDeleteLocalProcs
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimFreeCallFrame, %function
JimFreeCallFrame:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #80]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	JimDeleteLocalProcs
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L2068
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2068
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #56]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L2068:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L2069
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #60]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2069
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #60]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L2069:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #68]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2070
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #68]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L2070:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L2071
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #20]
	cmp	r3, #16
	beq	.L2072
.L2071:
	ldr	r3, [fp, #-36]
	add	r3, r3, #8
	mov	r0, r3
	bl	Jim_FreeHashTable
	b	.L2073
.L2072:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2074
.L2078:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L2075
.L2077:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2076
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L2076:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
	ldr	r0, [fp, #-8]
	bl	Jim_Free
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
.L2075:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2077
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L2074:
	ldr	r3, [fp, #-24]
	cmp	r3, #15
	ble	.L2078
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3, #28]
.L2073:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #204]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #204]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimFreeCallFrame, .-JimFreeCallFrame
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimReferencesHTValDestructor, %function
JimReferencesHTValDestructor:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2080
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2080:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2081
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2081
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2081:
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimReferencesHTValDestructor, .-JimReferencesHTValDestructor
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimReferencesHTHashFunction, %function
JimReferencesHTHashFunction:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	Jim_IntHashFunction
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimReferencesHTHashFunction, .-JimReferencesHTHashFunction
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimReferencesHTKeyDup, %function
JimReferencesHTKeyDup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r0, #4
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	mov	r2, #4
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimReferencesHTKeyDup, .-JimReferencesHTKeyDup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimReferencesHTKeyCompare, %function
JimReferencesHTKeyCompare:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r2, #4
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimReferencesHTKeyCompare, .-JimReferencesHTKeyCompare
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimReferencesHTKeyDestructor, %function
JimReferencesHTKeyDestructor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimReferencesHTKeyDestructor, .-JimReferencesHTKeyDestructor
	.section	.rodata
	.align	2
	.type	JimReferencesHashTableType, %object
	.size	JimReferencesHashTableType, 24
JimReferencesHashTableType:
	.word	JimReferencesHTHashFunction
	.word	JimReferencesHTKeyDup
	.word	0
	.word	JimReferencesHTKeyCompare
	.word	JimReferencesHTKeyDestructor
	.word	JimReferencesHTValDestructor
	.align	2
.LC299:
	.ascii	"<reference.<%s>.%020lu>\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimFormatReference, %function
JimFormatReference:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L2091
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	add	r2, r3, #8
	ldr	r3, [fp, #-24]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	sprintf
	mov	r3, #42
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2092:
	.align	2
.L2091:
	.word	.LC299
	.size	JimFormatReference, .-JimFormatReference
	.section	.rodata
	.align	2
.LC300:
	.ascii	"reference\000"
	.align	2
	.type	referenceObjType, %object
	.size	referenceObjType, 20
referenceObjType:
	.word	.LC300
	.word	0
	.word	0
	.word	UpdateStringOfReference
	.word	1
	.align	2
.LC301:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfReference, %function
UpdateStringOfReference:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	ldr	r3, .L2095
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #16]
	sub	r3, fp, #52
	mov	r0, r3
	bl	JimFormatReference
	sub	r3, fp, #52
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	JimSetStringBytes
	nop
	ldr	r3, .L2095
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2094
	bl	__stack_chk_fail
.L2094:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2096:
	.align	2
.L2095:
	.word	.LC301
	.size	UpdateStringOfReference, .-UpdateStringOfReference
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	isrefchar, %function
isrefchar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #95
	beq	.L2098
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L2099
.L2098:
	mov	r3, #1
	b	.L2101
.L2099:
	mov	r3, #0
.L2101:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	isrefchar, .-isrefchar
	.section	.rodata
	.align	2
.LC302:
	.ascii	"<reference.<\000"
	.align	2
.LC303:
	.ascii	"invalid reference id \"%#s\"\000"
	.align	2
.LC304:
	.ascii	"expected reference but got \"%#s\"\000"
	.align	2
.LC305:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetReferenceFromAny, %function
SetReferenceFromAny:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	ldr	r3, .L2129
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #64
	mov	r1, r3
	ldr	r0, [fp, #-76]
	bl	Jim_GetString
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-64]
	cmp	r3, #41
	ble	.L2123
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L2105
.L2106:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L2105:
	ldr	r3, [fp, #-52]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L2106
	b	.L2107
.L2109:
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
.L2107:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #32
	bne	.L2108
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bhi	.L2109
.L2108:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	cmp	r3, #41
	bne	.L2124
	mov	r2, #12
	ldr	r1, .L2129+4
	ldr	r0, [fp, #-52]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2125
	ldr	r3, [fp, #-52]
	add	r3, r3, #19
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L2126
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #62
	bne	.L2126
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L2114
.L2116:
	ldr	r3, [fp, #-56]
	add	r3, r3, #12
	mov	r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isrefchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L2127
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L2114:
	ldr	r3, [fp, #-56]
	cmp	r3, #6
	ble	.L2116
	ldr	r3, [fp, #-52]
	add	r1, r3, #21
	sub	r3, fp, #32
	mov	r2, #20
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strb	r3, [fp, #-12]
	sub	r1, fp, #60
	sub	r3, fp, #32
	mov	r2, #10
	mov	r0, r3
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-68]
	ldr	r2, [fp, #-60]
	sub	r3, fp, #32
	mov	r1, r2
	mov	r0, r3
	bl	JimCheckConversion
	mov	r3, r0
	cmp	r3, #0
	bne	.L2128
	ldr	r3, [fp, #-72]
	add	r3, r3, #140
	sub	r2, fp, #68
	mov	r1, r2
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L2118
	ldr	r2, [fp, #-76]
	ldr	r1, .L2129+8
	ldr	r0, [fp, #-72]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L2121
.L2118:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2120
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2120
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-76]
	ldr	r0, [fp, #-72]
	blx	r3
.L2120:
	ldr	r3, [fp, #-76]
	ldr	r2, .L2129+12
	str	r2, [r3, #4]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-76]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #20]
	mov	r3, #0
	b	.L2121
.L2123:
	nop
	b	.L2104
.L2124:
	nop
	b	.L2104
.L2125:
	nop
	b	.L2104
.L2126:
	nop
	b	.L2104
.L2127:
	nop
	b	.L2104
.L2128:
	nop
.L2104:
	ldr	r2, [fp, #-76]
	ldr	r1, .L2129+16
	ldr	r0, [fp, #-72]
	bl	Jim_SetResultFormatted
	mov	r3, #1
.L2121:
	ldr	r2, .L2129
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2122
	bl	__stack_chk_fail
.L2122:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2130:
	.align	2
.L2129:
	.word	.LC305
	.word	.LC302
	.word	.LC303
	.word	referenceObjType
	.word	.LC304
	.size	SetReferenceFromAny, .-SetReferenceFromAny
	.section	.rodata
	.align	2
.LC306:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_NewReference
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewReference, %function
Jim_NewReference:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, .L2140
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-40]
	bl	Jim_CollectIfNeeded
	mov	r0, #16
	bl	Jim_Alloc
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-52]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L2132
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
.L2132:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #136]
	add	r1, r3, #1
	ldr	r2, [fp, #-40]
	str	r1, [r2, #136]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	add	r3, r3, #140
	sub	r1, fp, #32
	ldr	r2, [fp, #-20]
	mov	r0, r3
	bl	Jim_AddHashEntry
	ldr	r0, [fp, #-40]
	bl	Jim_NewObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L2140+4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #136]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #136]
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r3, #7
	ble	.L2133
	mov	r3, #7
	str	r3, [fp, #-28]
.L2133:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2134
.L2137:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bge	.L2135
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	isrefchar
	mov	r3, r0
	cmp	r3, #0
	beq	.L2135
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	add	r3, r3, #8
	mov	r2, r1
	strb	r2, [r3]
	b	.L2136
.L2135:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	add	r3, r3, #8
	mov	r2, #95
	strb	r2, [r3]
.L2136:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L2134:
	ldr	r3, [fp, #-24]
	cmp	r3, #6
	ble	.L2137
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3, #15]
	ldr	r3, [fp, #-16]
	ldr	r2, .L2140
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2139
	bl	__stack_chk_fail
.L2139:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2141:
	.align	2
.L2140:
	.word	.LC306
	.word	referenceObjType
	.size	Jim_NewReference, .-Jim_NewReference
	.align	2
	.global	Jim_GetReference
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetReference, %function
Jim_GetReference:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2145
	cmp	r3, r2
	beq	.L2143
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetReferenceFromAny
	mov	r3, r0
	cmp	r3, #1
	bne	.L2143
	mov	r3, #0
	b	.L2144
.L2143:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
.L2144:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2146:
	.align	2
.L2145:
	.word	referenceObjType
	.size	Jim_GetReference, .-Jim_GetReference
	.align	2
	.global	Jim_SetFinalizer
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetFinalizer, %function
Jim_SetFinalizer:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_GetReference
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2148
	mov	r3, #1
	b	.L2149
.L2148:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2150
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2150
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2150:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #4]
	mov	r3, #0
.L2149:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SetFinalizer, .-Jim_SetFinalizer
	.align	2
	.global	Jim_GetFinalizer
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetFinalizer, %function
Jim_GetFinalizer:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_GetReference
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2152
	mov	r3, #1
	b	.L2153
.L2152:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	mov	r3, #0
.L2153:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetFinalizer, .-Jim_GetFinalizer
	.section	.rodata
	.align	2
	.type	JimRefMarkHashTableType, %object
	.size	JimRefMarkHashTableType, 24
JimRefMarkHashTableType:
	.word	JimReferencesHTHashFunction
	.word	JimReferencesHTKeyDup
	.word	0
	.word	JimReferencesHTKeyCompare
	.word	JimReferencesHTKeyDestructor
	.word	0
	.text
	.align	2
	.global	Jim_Collect
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Collect, %function
Jim_Collect:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_Collect, .-Jim_Collect
	.align	2
	.global	Jim_CollectIfNeeded
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CollectIfNeeded, %function
Jim_CollectIfNeeded:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #136]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #172]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r0, #0
	bl	time
	mov	r2, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #176]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r2, .L2160
	cmp	r3, r2
	bhi	.L2157
	ldr	r3, [fp, #-8]
	cmp	r3, #300
	ble	.L2159
.L2157:
	ldr	r0, [fp, #-16]
	bl	Jim_Collect
.L2159:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2161:
	.align	2
.L2160:
	.word	5000
	.size	Jim_CollectIfNeeded, .-Jim_CollectIfNeeded
	.section	.rodata
	.align	2
.LC307:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_IsBigEndian
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_IsBigEndian, %function
Jim_IsBigEndian:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L2165
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2165+4
	strh	r3, [fp, #-12]	@ movhi
	ldrb	r3, [fp, #-12]	@ zero_extendqisi2
	cmp	r3, #1
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	ldr	r2, .L2165
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2164
	bl	__stack_chk_fail
.L2164:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2166:
	.align	2
.L2165:
	.word	.LC307
	.word	258
	.size	Jim_IsBigEndian, .-Jim_IsBigEndian
	.section	.rodata
	.align	2
.LC308:
	.ascii	"auto_path\000"
	.align	2
.LC309:
	.ascii	"0\000"
	.align	2
.LC310:
	.ascii	"tcl_interactive\000"
	.align	2
.LC311:
	.ascii	"Jim\000"
	.align	2
.LC312:
	.ascii	"tcl_platform(engine)\000"
	.align	2
.LC313:
	.ascii	"tcl_platform(os)\000"
	.align	2
.LC314:
	.ascii	"unix\000"
	.align	2
.LC315:
	.ascii	"tcl_platform(platform)\000"
	.align	2
.LC316:
	.ascii	":\000"
	.align	2
.LC317:
	.ascii	"tcl_platform(pathSeparator)\000"
	.align	2
.LC318:
	.ascii	"bigEndian\000"
	.align	2
.LC319:
	.ascii	"littleEndian\000"
	.align	2
.LC320:
	.ascii	"tcl_platform(byteOrder)\000"
	.align	2
.LC321:
	.ascii	"tcl_platform(threaded)\000"
	.align	2
.LC322:
	.ascii	"tcl_platform(pointerSize)\000"
	.align	2
.LC323:
	.ascii	"tcl_platform(wordSize)\000"
	.text
	.align	2
	.global	Jim_CreateInterp
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CreateInterp, %function
Jim_CreateInterp:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #280
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	mov	r2, #280
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r3, [fp, #-8]
	mov	r2, #1000
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #2000
	str	r2, [r3, #20]
	mov	r0, #0
	bl	time
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #176]
	ldr	r3, [fp, #-8]
	add	r3, r3, #64
	ldr	r2, [fp, #-8]
	ldr	r1, .L2171
	mov	r0, r3
	bl	Jim_InitHashTable
	ldr	r3, [fp, #-8]
	add	r3, r3, #140
	ldr	r2, [fp, #-8]
	ldr	r1, .L2171+4
	mov	r0, r3
	bl	Jim_InitHashTable
	ldr	r3, [fp, #-8]
	add	r3, r3, #208
	ldr	r2, [fp, #-8]
	ldr	r1, .L2171+8
	mov	r0, r3
	bl	Jim_InitHashTable
	ldr	r3, [fp, #-8]
	add	r3, r3, #244
	mov	r2, #0
	ldr	r1, .L2171+12
	mov	r0, r3
	bl	Jim_InitHashTable
	mov	r2, #0
	ldr	r1, .L2171+16
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #124]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #128]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #132]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #124]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	JimCreateCallFrame
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	Jim_NewListObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #180]
	mvn	r2, #0
	ldr	r1, .L2171+20
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #188]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #184]
	mov	r2, #0
	ldr	r1, .L2171+16
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #116]
	mov	r2, #0
	ldr	r1, .L2171+16
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #120]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #124]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #188]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #116]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #120]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #184]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #128]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #132]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r2, .L2171+24
	ldr	r1, .L2171+28
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r2, .L2171+32
	ldr	r1, .L2171+36
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r2, .L2171+40
	ldr	r1, .L2171+44
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r2, .L2171+20
	ldr	r1, .L2171+48
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r2, .L2171+52
	ldr	r1, .L2171+56
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r2, .L2171+60
	ldr	r1, .L2171+64
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	bl	Jim_IsBigEndian
	mov	r3, r0
	cmp	r3, #0
	beq	.L2168
	ldr	r3, .L2171+68
	b	.L2169
.L2168:
	ldr	r3, .L2171+72
.L2169:
	mov	r2, r3
	ldr	r1, .L2171+76
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r2, .L2171+32
	ldr	r1, .L2171+80
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	mov	r1, #4
	ldr	r0, [fp, #-8]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L2171+84
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStr
	mov	r1, #4
	ldr	r0, [fp, #-8]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L2171+88
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStr
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2172:
	.align	2
.L2171:
	.word	JimCommandsHashTableType
	.word	JimReferencesHashTableType
	.word	JimAssocDataHashTableType
	.word	JimPackageHashTableType
	.word	.LC86
	.word	.LC98
	.word	.LC112
	.word	.LC308
	.word	.LC309
	.word	.LC310
	.word	.LC311
	.word	.LC312
	.word	.LC313
	.word	.LC314
	.word	.LC315
	.word	.LC316
	.word	.LC317
	.word	.LC318
	.word	.LC319
	.word	.LC320
	.word	.LC321
	.word	.LC322
	.word	.LC323
	.size	Jim_CreateInterp, .-Jim_CreateInterp
	.align	2
	.global	Jim_FreeInterp
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FreeInterp, %function
Jim_FreeInterp:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-20]
	b	.L2174
.L2175:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-12]
	mov	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	JimFreeCallFrame
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
.L2174:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2175
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2176
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2176:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #128]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2177
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #128]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2177:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #132]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2178
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #132]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2178:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2179
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2179:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2180
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2180:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #184]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2181
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #184]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2181:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #188]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2182
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #188]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2182:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2183
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2183:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #116]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2184
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #116]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2184:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #120]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2185
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #120]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2185:
	ldr	r3, [fp, #-24]
	add	r3, r3, #64
	mov	r0, r3
	bl	Jim_FreeHashTable
	ldr	r3, [fp, #-24]
	add	r3, r3, #140
	mov	r0, r3
	bl	Jim_FreeHashTable
	ldr	r3, [fp, #-24]
	add	r3, r3, #244
	mov	r0, r3
	bl	Jim_FreeHashTable
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #240]
	mov	r0, r3
	bl	Jim_Free
	ldr	r3, [fp, #-24]
	add	r3, r3, #208
	mov	r0, r3
	bl	Jim_FreeHashTable
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #112]
	str	r3, [fp, #-16]
	b	.L2186
.L2187:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L2186:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2187
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #204]
	str	r3, [fp, #-20]
	b	.L2188
.L2190:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #64]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L2189
	ldr	r3, [fp, #-20]
	add	r3, r3, #8
	mov	r0, r3
	bl	Jim_FreeHashTable
.L2189:
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
.L2188:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L2190
	ldr	r0, [fp, #-24]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_FreeInterp, .-Jim_FreeInterp
	.section	.rodata
	.align	2
.LC324:
	.ascii	"bad level \"%s\"\000"
	.align	2
.LC325:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_GetCallFrameByLevel
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetCallFrameByLevel, %function
Jim_GetCallFrameByLevel:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L2208
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2192
	ldr	r0, [fp, #-36]
	bl	Jim_String
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L2193
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	sub	r2, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	jim_strtol
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2194
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2199
.L2194:
	mvn	r3, #0
	str	r3, [fp, #-24]
	b	.L2199
.L2193:
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L2197
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L2198
.L2197:
	mvn	r3, #0
	str	r3, [fp, #-24]
	b	.L2199
.L2198:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	b	.L2199
.L2192:
	ldr	r3, .L2208+4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L2199:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L2200
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	b	.L2206
.L2200:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L2202
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	b	.L2203
.L2205:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	bne	.L2204
	ldr	r3, [fp, #-12]
	b	.L2206
.L2204:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-12]
.L2203:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2205
.L2202:
	ldr	r2, [fp, #-16]
	ldr	r1, .L2208+8
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #0
.L2206:
	ldr	r2, .L2208
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2207
	bl	__stack_chk_fail
.L2207:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2209:
	.align	2
.L2208:
	.word	.LC325
	.word	.LC193
	.word	.LC324
	.size	Jim_GetCallFrameByLevel, .-Jim_GetCallFrameByLevel
	.section	.rodata
	.align	2
.LC326:
	.ascii	"bad level \"%#s\"\000"
	.align	2
.LC327:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGetCallFrameByInteger, %function
JimGetCallFrameByInteger:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2220
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L2211
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L2212
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L2212:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2213
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #60]
	b	.L2218
.L2213:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	b	.L2215
.L2217:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bne	.L2216
	ldr	r3, [fp, #-12]
	b	.L2218
.L2216:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-12]
.L2215:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2217
.L2211:
	ldr	r2, [fp, #-28]
	ldr	r1, .L2220+4
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	mov	r3, #0
.L2218:
	ldr	r2, .L2220
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2219
	bl	__stack_chk_fail
.L2219:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2221:
	.align	2
.L2220:
	.word	.LC327
	.word	.LC326
	.size	JimGetCallFrameByInteger, .-JimGetCallFrameByInteger
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimResetStackTrace, %function
JimResetStackTrace:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2223
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L2223:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	Jim_NewListObj
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #180]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimResetStackTrace, .-JimResetStackTrace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetStackTrace, %function
JimSetStackTrace:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2225
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2225:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #180]
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #196]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ListLength
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	ble	.L2227
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #180]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ListGetIndex
	mov	r3, r0
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	bne	.L2227
	ldr	r3, [fp, #-16]
	mov	r2, #1
	str	r2, [r3, #12]
.L2227:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimSetStackTrace, .-JimSetStackTrace
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAppendStackTrace, %function
JimAppendStackTrace:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r1, .L2236
	ldr	r0, [fp, #-28]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2229
	ldr	r3, .L2236+4
	str	r3, [fp, #-28]
.L2229:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2230
	ldr	r0, [fp, #-32]
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	beq	.L2235
.L2230:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L2232
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2233
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2233:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_DuplicateObj
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #180]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
.L2232:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2234
	ldr	r0, [fp, #-32]
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	beq	.L2234
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_ListLength
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	ble	.L2234
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #180]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #3
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	beq	.L2234
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #180]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #2
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	bne	.L2234
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #180]
	ldr	r3, [fp, #-20]
	sub	r2, r3, #2
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	ListSetIndex
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #180]
	ldr	r3, [fp, #-20]
	sub	r5, r3, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, #0
	str	r2, [sp]
	mov	r2, r5
	mov	r1, r4
	ldr	r0, [fp, #-24]
	bl	ListSetIndex
	b	.L2228
.L2234:
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #180]
	mvn	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #180]
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #180]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	b	.L2228
.L2235:
	nop
.L2228:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L2237:
	.align	2
.L2236:
	.word	.LC98
	.word	.LC86
	.size	JimAppendStackTrace, .-JimAppendStackTrace
	.align	2
	.global	Jim_SetAssocData
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetAssocData, %function
Jim_SetAssocData:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r0, #8
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #208
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_AddHashEntry
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SetAssocData, .-Jim_SetAssocData
	.align	2
	.global	Jim_GetAssocData
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetAssocData, %function
Jim_GetAssocData:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #208
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	Jim_FindHashEntry
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2241
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	b	.L2242
.L2241:
	mov	r3, #0
.L2242:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_GetAssocData, .-Jim_GetAssocData
	.align	2
	.global	Jim_DeleteAssocData
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DeleteAssocData, %function
Jim_DeleteAssocData:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #208
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	Jim_DeleteHashEntry
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_DeleteAssocData, .-Jim_DeleteAssocData
	.align	2
	.global	Jim_GetExitCode
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetExitCode, %function
Jim_GetExitCode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_GetExitCode, .-Jim_GetExitCode
	.section	.rodata
	.align	2
.LC328:
	.ascii	"int\000"
	.align	2
	.type	intObjType, %object
	.size	intObjType, 20
intObjType:
	.word	.LC328
	.word	0
	.word	0
	.word	UpdateStringOfInt
	.word	0
	.align	2
.LC329:
	.ascii	"coerced-double\000"
	.align	2
	.type	coercedDoubleObjType, %object
	.size	coercedDoubleObjType, 20
coercedDoubleObjType:
	.word	.LC329
	.word	0
	.word	0
	.word	UpdateStringOfInt
	.word	0
	.align	2
.LC330:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfInt, %function
UpdateStringOfInt:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-80]
	ldr	r3, .L2258
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L2248
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #48
	strb	r2, [r3, #-32]
	b	.L2249
.L2248:
	mov	r3, #0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bge	.L2253
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	str	r2, [fp, #-72]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #45
	strb	r2, [r3, #-32]
	ldr	r2, [fp, #-76]
	ldr	r3, .L2258+4
	smull	r1, r3, r2, r3
	asr	r1, r3, #2
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #1
	sub	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	ble	.L2251
	ldr	r3, [fp, #-64]
	and	r3, r3, #255
	rsb	r3, r3, #10
	and	r2, r3, #255
	b	.L2252
.L2251:
	ldr	r3, [fp, #-64]
	and	r3, r3, #255
	rsb	r3, r3, #0
	and	r2, r3, #255
.L2252:
	ldr	r3, [fp, #-68]
	add	r1, r3, #1
	str	r1, [fp, #-68]
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-56]
	ldr	r3, [fp, #-76]
	ldr	r2, .L2258+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r3, r2
	str	r3, [fp, #-76]
	b	.L2253
.L2254:
	ldr	r1, [fp, #-76]
	ldr	r3, .L2258+4
	smull	r2, r3, r1, r3
	asr	r2, r3, #2
	asr	r3, r1, #31
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	ldr	r3, [fp, #-68]
	add	r1, r3, #1
	str	r1, [fp, #-68]
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-56]
	ldr	r3, [fp, #-76]
	ldr	r2, .L2258+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #2
	asr	r3, r3, #31
	sub	r3, r2, r3
	str	r3, [fp, #-76]
.L2253:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L2254
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L2255
.L2256:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-64]
	sub	r3, r2, r3
	sub	r3, r3, #1
	sub	r2, fp, #4
	add	r3, r2, r3
	ldrb	r2, [r3, #-56]	@ zero_extendqisi2
	ldr	r3, [fp, #-72]
	add	r1, r3, #1
	str	r1, [fp, #-72]
	add	r2, r2, #48
	and	r2, r2, #255
	sub	r1, fp, #4
	add	r3, r1, r3
	strb	r2, [r3, #-32]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L2255:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	blt	.L2256
.L2249:
	sub	r2, fp, #36
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	JimSetStringBytes
	nop
	ldr	r3, .L2258
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2257
	bl	__stack_chk_fail
.L2257:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2259:
	.align	2
.L2258:
	.word	.LC330
	.word	1717986919
	.size	UpdateStringOfInt, .-UpdateStringOfInt
	.section	.rodata
	.align	2
.LC331:
	.ascii	"expected integer but got \"%#s\"\000"
	.align	2
.LC332:
	.ascii	"Integer value too big to be represented\000"
	.align	2
.LC333:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetIntFromAny, %function
SetIntFromAny:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L2271
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, .L2271+4
	cmp	r3, r2
	bne	.L2261
	ldr	r3, [fp, #-28]
	ldr	r2, .L2271+8
	str	r2, [r3, #4]
	mov	r3, #0
	b	.L2269
.L2261:
	ldr	r0, [fp, #-28]
	bl	Jim_String
	str	r0, [fp, #-16]
	sub	r3, fp, #20
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_StringToWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L2263
	ldr	r3, [fp, #-32]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2264
	ldr	r2, [fp, #-28]
	ldr	r1, .L2271+12
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
.L2264:
	mov	r3, #1
	b	.L2269
.L2263:
	ldr	r3, [fp, #-20]
	cmp	r3, #-2147483648
	beq	.L2265
	ldr	r3, [fp, #-20]
	cmn	r3, #-2147483647
	bne	.L2266
.L2265:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #34
	bne	.L2266
	mvn	r2, #0
	ldr	r1, .L2271+16
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2267
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2267:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L2269
.L2266:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2268
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2268
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
.L2268:
	ldr	r3, [fp, #-28]
	ldr	r2, .L2271+8
	str	r2, [r3, #4]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	mov	r3, #0
.L2269:
	ldr	r2, .L2271
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2270
	bl	__stack_chk_fail
.L2270:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2272:
	.align	2
.L2271:
	.word	.LC333
	.word	coercedDoubleObjType
	.word	intObjType
	.word	.LC331
	.word	.LC332
	.size	SetIntFromAny, .-SetIntFromAny
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimIsWide, %function
JimIsWide:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, .L2275
	cmp	r3, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L2276:
	.align	2
.L2275:
	.word	intObjType
	.size	JimIsWide, .-JimIsWide
	.align	2
	.global	Jim_GetWide
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetWide, %function
Jim_GetWide:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2280
	cmp	r3, r2
	beq	.L2278
	mov	r2, #1
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetIntFromAny
	mov	r3, r0
	cmp	r3, #1
	bne	.L2278
	mov	r3, #1
	b	.L2279
.L2278:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L2279:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2281:
	.align	2
.L2280:
	.word	intObjType
	.size	Jim_GetWide, .-Jim_GetWide
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGetWideNoErr, %function
JimGetWideNoErr:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2285
	cmp	r3, r2
	beq	.L2283
	mov	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetIntFromAny
	mov	r3, r0
	cmp	r3, #1
	bne	.L2283
	mov	r3, #1
	b	.L2284
.L2283:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L2284:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2286:
	.align	2
.L2285:
	.word	intObjType
	.size	JimGetWideNoErr, .-JimGetWideNoErr
	.section	.rodata
	.align	2
.LC334:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_GetLong
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetLong, %function
Jim_GetLong:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L2292
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_GetWide
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2288
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	mov	r3, #0
	b	.L2290
.L2288:
	mov	r3, #1
.L2290:
	ldr	r2, .L2292
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2291
	bl	__stack_chk_fail
.L2291:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2293:
	.align	2
.L2292:
	.word	.LC334
	.size	Jim_GetLong, .-Jim_GetLong
	.align	2
	.global	Jim_NewIntObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewIntObj, %function
Jim_NewIntObj:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2296
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2297:
	.align	2
.L2296:
	.word	intObjType
	.size	Jim_NewIntObj, .-Jim_NewIntObj
	.section	.rodata
	.align	2
.LC335:
	.ascii	"double\000"
	.align	2
	.type	doubleObjType, %object
	.size	doubleObjType, 20
doubleObjType:
	.word	.LC335
	.word	0
	.word	0
	.word	UpdateStringOfDouble
	.word	0
	.global	__aeabi_dcmpeq
	.global	__aeabi_ddiv
	.global	__aeabi_dcmplt
	.align	2
.LC336:
	.ascii	"-Inf\000"
	.align	2
.LC337:
	.ascii	"%.12g\000"
	.align	2
.LC338:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfDouble, %function
UpdateStringOfDouble:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	ldr	r3, .L2318
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-64]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L2315
	ldr	r1, .L2318+4
	ldr	r0, [fp, #-64]
	bl	JimSetStringBytes
	b	.L2298
.L2315:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L2318+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L2316
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2317
	ldr	r1, .L2318+12
	ldr	r0, [fp, #-64]
	bl	JimSetStringBytes
	b	.L2298
.L2317:
	ldr	r1, .L2318+16
	ldr	r0, [fp, #-64]
	bl	JimSetStringBytes
	b	.L2298
.L2316:
	sub	r0, fp, #40
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r1, .L2318+20
	bl	sprintf
	str	r0, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L2307
.L2309:
	sub	r2, fp, #40
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	beq	.L2308
	sub	r2, fp, #40
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #101
	beq	.L2308
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L2307:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L2309
.L2308:
	sub	r2, fp, #40
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2310
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #46
	strb	r2, [r3, #-36]
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	sub	r2, fp, #4
	add	r3, r2, r3
	mov	r2, #48
	strb	r2, [r3, #-36]
	sub	r2, fp, #40
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L2310:
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	JimSetStringBytes
.L2298:
	ldr	r3, .L2318
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2311
	bl	__stack_chk_fail
.L2311:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2319:
	.align	2
.L2318:
	.word	.LC338
	.word	.LC0
	.word	1072693248
	.word	.LC336
	.word	.LC3
	.word	.LC337
	.size	UpdateStringOfDouble, .-UpdateStringOfDouble
	.section	.rodata
	.align	2
.LC339:
	.ascii	"expected floating-point number but got \"%#s\"\000"
	.align	2
.LC340:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetDoubleFromAny, %function
SetDoubleFromAny:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L2328
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-36]
	bl	Jim_String
	str	r0, [fp, #-24]
	sub	r3, fp, #28
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_StringToWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L2321
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2322
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2322
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	blx	r3
.L2322:
	ldr	r3, [fp, #-36]
	ldr	r2, .L2328+4
	str	r2, [r3, #4]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	str	r2, [r3, #16]
	mov	r3, #0
	b	.L2326
.L2321:
	sub	r3, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_StringToDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L2324
	ldr	r2, [fp, #-36]
	ldr	r1, .L2328+8
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L2326
.L2324:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2325
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2325
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	blx	r3
.L2325:
	ldr	r3, [fp, #-36]
	ldr	r2, .L2328+12
	str	r2, [r3, #4]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-36]
	str	r2, [r1, #16]
	str	r3, [r1, #20]
	mov	r3, #0
.L2326:
	ldr	r2, .L2328
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2327
	bl	__stack_chk_fail
.L2327:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2329:
	.align	2
.L2328:
	.word	.LC340
	.word	coercedDoubleObjType
	.word	.LC339
	.word	doubleObjType
	.size	SetDoubleFromAny, .-SetDoubleFromAny
	.global	__aeabi_i2d
	.align	2
	.global	Jim_GetDouble
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetDouble, %function
Jim_GetDouble:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2336
	cmp	r3, r2
	bne	.L2331
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-16]
	stm	r1, {r2-r3}
	mov	r3, #0
	b	.L2332
.L2331:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2336+4
	cmp	r3, r2
	beq	.L2333
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetDoubleFromAny
	mov	r3, r0
	cmp	r3, #1
	bne	.L2333
	mov	r3, #1
	b	.L2332
.L2333:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2336
	cmp	r3, r2
	bne	.L2334
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-16]
	stm	r1, {r2-r3}
	b	.L2335
.L2334:
	ldr	r3, [fp, #-12]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-16]
	stm	r1, {r2-r3}
.L2335:
	mov	r3, #0
.L2332:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2337:
	.align	2
.L2336:
	.word	coercedDoubleObjType
	.word	doubleObjType
	.size	Jim_GetDouble, .-Jim_GetDouble
	.align	2
	.global	Jim_NewDoubleObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewDoubleObj, %function
Jim_NewDoubleObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2340
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [r1, #16]
	str	r3, [r1, #20]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2341:
	.align	2
.L2340:
	.word	doubleObjType
	.size	Jim_NewDoubleObj, .-Jim_NewDoubleObj
	.section	.rodata
	.align	2
.LC341:
	.ascii	"list\000"
	.align	2
	.type	listObjType, %object
	.size	listObjType, 20
listObjType:
	.word	.LC341
	.word	FreeListInternalRep
	.word	DupListInternalRep
	.word	UpdateStringOfList
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeListInternalRep, %function
FreeListInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2343
.L2345:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2344
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2344:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2343:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L2345
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeListInternalRep, .-FreeListInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupListInternalRep, %function
DupListInternalRep:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2347
.L2348:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L2347:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L2348
	ldr	r3, [fp, #-24]
	ldr	r2, .L2349
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2350:
	.align	2
.L2349:
	.word	listObjType
	.size	DupListInternalRep, .-DupListInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListElementQuotingType, %function
ListElementQuotingType:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2352
	mov	r3, #1
	b	.L2353
.L2352:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #34
	beq	.L2354
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L2355
.L2354:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2356
.L2355:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2357
.L2364:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L2388
	cmp	r3, #125
	bgt	.L2359
	cmp	r3, #123
	beq	.L2388
	cmp	r3, #123
	bgt	.L2359
	cmp	r3, #93
	bgt	.L2359
	cmp	r3, #91
	bge	.L2360
	cmp	r3, #13
	bgt	.L2361
	cmp	r3, #9
	bge	.L2360
	b	.L2359
.L2363:
	sub	r3, r3, #32
	cmp	r3, #27
	ldrls	pc, [pc, r3, asl #2]
	b	.L2359
.L2362:
	.word	.L2360
	.word	.L2359
	.word	.L2360
	.word	.L2359
	.word	.L2360
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2359
	.word	.L2360
.L2361:
	cmp	r3, #59
	bgt	.L2359
	cmp	r3, #32
	bge	.L2363
	b	.L2359
.L2360:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L2388
.L2359:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2357:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L2364
	mov	r3, #0
	b	.L2353
.L2388:
	nop
.L2356:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L2365
	mov	r3, #2
	b	.L2353
.L2365:
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2366
.L2377:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #91
	cmp	r3, #34
	ldrls	pc, [pc, r3, asl #2]
	b	.L2367
.L2369:
	.word	.L2373
	.word	.L2372
	.word	.L2371
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2367
	.word	.L2370
	.word	.L2367
	.word	.L2368
.L2370:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L2367
.L2368:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L2389
	mov	r3, #2
	b	.L2353
.L2373:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L2367
.L2371:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L2367
.L2372:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L2375
	mov	r3, #2
	b	.L2353
.L2375:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L2390
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L2390
.L2389:
	nop
	b	.L2367
.L2390:
	nop
.L2367:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2366:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L2377
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bge	.L2378
	mov	r3, #2
	b	.L2353
.L2378:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2379
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2380
	mov	r3, #1
	b	.L2353
.L2380:
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L2381
.L2387:
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bgt	.L2382
	cmp	r3, #91
	bge	.L2383
	cmp	r3, #13
	bgt	.L2384
	cmp	r3, #9
	bge	.L2383
	b	.L2382
.L2386:
	sub	r3, r3, #32
	cmp	r3, #27
	ldrls	pc, [pc, r3, asl #2]
	b	.L2382
.L2385:
	.word	.L2383
	.word	.L2382
	.word	.L2383
	.word	.L2382
	.word	.L2383
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2382
	.word	.L2383
.L2384:
	cmp	r3, #59
	bgt	.L2382
	cmp	r3, #32
	bge	.L2386
	b	.L2382
.L2383:
	mov	r3, #1
	b	.L2353
.L2382:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L2381:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L2387
	mov	r3, #0
	b	.L2353
.L2379:
	mov	r3, #2
.L2353:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ListElementQuotingType, .-ListElementQuotingType
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	BackslashQuoteString, %function
BackslashQuoteString:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
	b	.L2392
.L2402:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L2393
	cmp	r3, #125
	bgt	.L2394
	cmp	r3, #93
	bgt	.L2395
	cmp	r3, #9
	blt	.L2394
	sub	r3, r3, #9
	cmp	r3, #84
	ldrls	pc, [pc, r3, asl #2]
	b	.L2394
.L2396:
	.word	.L2401
	.word	.L2400
	.word	.L2399
	.word	.L2398
	.word	.L2397
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2393
	.word	.L2394
	.word	.L2393
	.word	.L2394
	.word	.L2393
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2393
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2394
	.word	.L2393
	.word	.L2393
	.word	.L2393
.L2395:
	cmp	r3, #123
	bne	.L2394
.L2393:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	b	.L2392
.L2400:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #110
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L2392
.L2397:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #114
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L2392
.L2401:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #116
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L2392
.L2398:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #102
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L2392
.L2399:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	mov	r2, #118
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L2392
.L2394:
	ldr	r2, [fp, #-16]
	add	r3, r2, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	nop
.L2392:
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	str	r2, [fp, #-20]
	cmp	r3, #0
	bne	.L2402
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	BackslashQuoteString, .-BackslashQuoteString
	.section	.rodata
	.align	2
.LC342:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimMakeListStringRep, %function
JimMakeListStringRep:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #92
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, .L2426
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-96]
	cmp	r3, #32
	ble	.L2405
	ldr	r0, [fp, #-96]
	bl	Jim_Alloc
	str	r0, [fp, #-60]
	b	.L2406
.L2405:
	sub	r3, fp, #48
	str	r3, [fp, #-60]
.L2406:
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L2407
.L2414:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-92]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #80
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-56]
	ldr	r1, [fp, #-80]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-60]
	add	r4, r2, r3
	ldr	r0, [fp, #-56]
	bl	ListElementQuotingType
	mov	r3, r0
	strb	r3, [r4]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L2408
	cmp	r3, #2
	bgt	.L2409
	cmp	r3, #0
	beq	.L2410
	cmp	r3, #1
	beq	.L2411
	b	.L2409
.L2410:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L2412
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	beq	.L2413
.L2412:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	b	.L2409
.L2413:
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
.L2411:
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	b	.L2409
.L2408:
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-72]
	nop
.L2409:
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L2407:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L2414
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-88]
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L2415
.L2422:
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-92]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #80
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #2
	beq	.L2416
	cmp	r3, #2
	bgt	.L2417
	cmp	r3, #0
	beq	.L2418
	cmp	r3, #1
	beq	.L2419
	b	.L2417
.L2418:
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-64]
	bl	memcpy
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	add	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	b	.L2417
.L2419:
	ldr	r3, [fp, #-64]
	add	r2, r3, #1
	str	r2, [fp, #-64]
	mov	r2, #123
	strb	r2, [r3]
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-64]
	bl	memcpy
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-64]
	add	r3, r3, r2
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	add	r2, r3, #1
	str	r2, [fp, #-64]
	mov	r2, #125
	strb	r2, [r3]
	ldr	r3, [fp, #-80]
	add	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	b	.L2417
.L2416:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L2420
	ldr	r3, [fp, #-56]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L2420
	ldr	r3, [fp, #-64]
	add	r2, r3, #1
	str	r2, [fp, #-64]
	mov	r2, #92
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L2420:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-64]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	BackslashQuoteString
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	nop
.L2417:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	beq	.L2421
	ldr	r3, [fp, #-64]
	add	r2, r3, #1
	str	r2, [fp, #-64]
	mov	r2, #32
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L2421:
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L2415:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L2422
	ldr	r3, [fp, #-64]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #12]
	sub	r3, fp, #48
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	beq	.L2425
	ldr	r0, [fp, #-60]
	bl	Jim_Free
.L2425:
	nop
	ldr	r3, .L2426
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2424
	bl	__stack_chk_fail
.L2424:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2427:
	.align	2
.L2426:
	.word	.LC342
	.size	JimMakeListStringRep, .-JimMakeListStringRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfList, %function
UpdateStringOfList:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #20]
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	JimMakeListStringRep
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	UpdateStringOfList, .-UpdateStringOfList
	.section	.rodata
	.align	2
.LC343:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetListFromAny, %function
SetListFromAny:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	ldr	r3, .L2446
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r2, .L2446+4
	cmp	r3, r2
	bne	.L2430
	mov	r3, #0
	b	.L2444
.L2430:
	ldr	r0, [fp, #-92]
	bl	Jim_IsDict
	mov	r3, r0
	cmp	r3, #0
	beq	.L2432
	ldr	r3, [fp, #-92]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2432
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	JimDictPairs
	str	r0, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L2433
.L2434:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L2433:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	blt	.L2434
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2435
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2435
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	blx	r3
.L2435:
	ldr	r3, [fp, #-92]
	ldr	r2, .L2446+4
	str	r2, [r3, #4]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-92]
	str	r2, [r3, #20]
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-92]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #16]
	mov	r3, #0
	b	.L2444
.L2432:
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r2, .L2446+8
	cmp	r3, r2
	bne	.L2436
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-76]
	b	.L2437
.L2436:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-80]
	mov	r3, #1
	str	r3, [fp, #-76]
.L2437:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	sub	r3, fp, #84
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	Jim_GetString
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2438
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2438
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	blx	r3
.L2438:
	ldr	r3, [fp, #-92]
	ldr	r2, .L2446+4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L2439
	ldr	r2, [fp, #-84]
	sub	r0, fp, #56
	ldr	r3, [fp, #-76]
	ldr	r1, [fp, #-64]
	bl	JimParserInit
	b	.L2440
.L2442:
	sub	r3, fp, #56
	mov	r0, r3
	bl	JimParseList
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	beq	.L2441
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	beq	.L2441
	b	.L2440
.L2441:
	sub	r3, fp, #56
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	JimParserGetTokenObj
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-80]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	JimSetSourceInfo
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-92]
	bl	ListAppendElement
.L2440:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L2442
.L2439:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2443
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L2443:
	mov	r3, #0
.L2444:
	ldr	r2, .L2446
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2445
	bl	__stack_chk_fail
.L2445:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2447:
	.align	2
.L2446:
	.word	.LC343
	.word	listObjType
	.word	sourceObjType
	.size	SetListFromAny, .-SetListFromAny
	.align	2
	.global	Jim_NewListObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewListObj, %function
Jim_NewListObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2451
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L2449
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	ListInsertElements
.L2449:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2452:
	.align	2
.L2451:
	.word	listObjType
	.size	Jim_NewListObj, .-Jim_NewListObj
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimListGetElements, %function
JimListGetElements:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_ListLength
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimListGetElements, .-JimListGetElements
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSign, %function
JimSign:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2455
	mov	r3, #0
	b	.L2456
.L2455:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L2457
	mvn	r3, #0
	b	.L2456
.L2457:
	mov	r3, #1
.L2456:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimSign, .-JimSign
	.local	sort_info
	.comm	sort_info,4,4
	.section	.rodata
	.align	2
.LC344:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortIndexHelper, %function
ListSortIndexHelper:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2463
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L2463+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, .L2463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #408]
	sub	r3, fp, #16
	mov	ip, #1
	str	ip, [sp]
	bl	Jim_ListIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L2459
	ldr	r3, .L2463+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, .L2463+4
	ldr	r3, [r3]
	ldr	r2, [r3, #408]
	sub	r3, fp, #12
	mov	ip, #1
	str	ip, [sp]
	bl	Jim_ListIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L2460
.L2459:
	ldr	r3, .L2463+4
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	longjmp
.L2460:
	ldr	r3, .L2463+4
	ldr	r3, [r3]
	ldr	r3, [r3, #420]
	sub	r1, fp, #12
	sub	r2, fp, #16
	mov	r0, r2
	blx	r3
	mov	r3, r0
	ldr	r2, .L2463
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2462
	bl	__stack_chk_fail
.L2462:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2464:
	.align	2
.L2463:
	.word	.LC344
	.word	sort_info
	.size	ListSortIndexHelper, .-ListSortIndexHelper
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortString, %function
ListSortString:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L2467
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	mov	r3, #0
	bl	Jim_StringCompareObj
	mov	r2, r0
	ldr	r3, .L2467
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	mul	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2468:
	.align	2
.L2467:
	.word	sort_info
	.size	ListSortString, .-ListSortString
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortStringNoCase, %function
ListSortStringNoCase:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, .L2471
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	mov	r3, #1
	bl	Jim_StringCompareObj
	mov	r2, r0
	ldr	r3, .L2471
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	mul	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2472:
	.align	2
.L2471:
	.word	sort_info
	.size	ListSortStringNoCase, .-ListSortStringNoCase
	.section	.rodata
	.align	2
.LC345:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortInteger, %function
ListSortInteger:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2478
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L2478+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	sub	r2, fp, #16
	mov	r1, r3
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L2474
	ldr	r3, .L2478+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	sub	r2, fp, #12
	mov	r1, r3
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L2475
.L2474:
	ldr	r3, .L2478+4
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	longjmp
.L2475:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r0, r3
	bl	JimSign
	mov	r2, r0
	ldr	r3, .L2478+4
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	mul	r3, r2, r3
	ldr	r2, .L2478
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2477
	bl	__stack_chk_fail
.L2477:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2479:
	.align	2
.L2478:
	.word	.LC345
	.word	sort_info
	.size	ListSortInteger, .-ListSortInteger
	.global	__aeabi_dcmpgt
	.section	.rodata
	.align	2
.LC346:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortReal, %function
ListSortReal:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L2494
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, .L2494+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	bne	.L2481
	ldr	r3, .L2494+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L2482
.L2481:
	ldr	r3, .L2494+4
	ldr	r3, [r3]
	mov	r1, #1
	mov	r0, r3
	bl	longjmp
.L2482:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L2492
	mov	r3, #0
	b	.L2488
.L2492:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2493
	ldr	r3, .L2494+4
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	b	.L2488
.L2493:
	ldr	r3, .L2494+4
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	rsb	r3, r3, #0
.L2488:
	ldr	r2, .L2494
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2489
	bl	__stack_chk_fail
.L2489:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2495:
	.align	2
.L2494:
	.word	.LC346
	.word	sort_info
	.size	ListSortReal, .-ListSortReal
	.section	.rodata
	.align	2
.LC347:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortCommand, %function
ListSortCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2501
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r2, [r3, #396]
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r3, [r3, #392]
	mov	r1, r3
	mov	r0, r2
	bl	Jim_DuplicateObj
	str	r0, [fp, #-16]
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	bl	Jim_ListAppendElement
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-16]
	bl	Jim_ListAppendElement
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r3, [r3, #396]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Jim_EvalObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2497
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r3, [r3, #396]
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L2498
.L2497:
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	longjmp
.L2498:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	bl	JimSign
	mov	r2, r0
	ldr	r3, .L2501+4
	ldr	r3, [r3]
	ldr	r3, [r3, #404]
	mul	r3, r2, r3
	ldr	r2, .L2501
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2500
	bl	__stack_chk_fail
.L2500:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2502:
	.align	2
.L2501:
	.word	.LC347
	.word	sort_info
	.size	ListSortCommand, .-ListSortCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListRemoveDuplicates, %function
ListRemoveDuplicates:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L2504
.L2507:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r0, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	mov	r1, r2
	blx	r3
	mov	r3, r0
	cmp	r3, #0
	bne	.L2505
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2506
	ldr	r3, .L2508
	ldr	r3, [r3]
	ldr	r0, [r3, #396]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	Jim_FreeObj
	b	.L2506
.L2505:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L2506:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2504:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L2507
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r2, r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #20]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2509:
	.align	2
.L2508:
	.word	sort_info
	.size	ListRemoveDuplicates, .-ListRemoveDuplicates
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSortElements, %function
ListSortElements:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	SetListFromAny
	ldr	r3, .L2524
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r2, .L2524
	ldr	r3, [fp, #-40]
	str	r3, [r2]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #400]
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L2511
.L2513:
	.word	.L2517
	.word	.L2516
	.word	.L2515
	.word	.L2514
	.word	.L2512
.L2517:
	ldr	r3, .L2524+4
	str	r3, [fp, #-20]
	b	.L2518
.L2516:
	ldr	r3, .L2524+8
	str	r3, [fp, #-20]
	b	.L2518
.L2515:
	ldr	r3, .L2524+12
	str	r3, [fp, #-20]
	b	.L2518
.L2514:
	ldr	r3, .L2524+16
	str	r3, [fp, #-20]
	b	.L2518
.L2512:
	ldr	r3, .L2524+20
	str	r3, [fp, #-20]
	b	.L2518
.L2511:
	mov	r3, #0
	str	r3, [fp, #-20]
	mvn	r3, #0
	b	.L2519
.L2518:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #412]
	cmp	r3, #0
	beq	.L2520
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #420]
	ldr	r3, .L2524+24
	str	r3, [fp, #-20]
.L2520:
	ldr	r3, [fp, #-40]
	mov	r0, r3
	bl	_setjmp
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2522
	ldr	r1, [fp, #-12]
	ldr	r3, [fp, #-20]
	mov	r2, #4
	ldr	r0, [fp, #-16]
	bl	qsort
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #416]
	cmp	r3, #0
	beq	.L2523
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	ble	.L2523
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-36]
	bl	ListRemoveDuplicates
.L2523:
	ldr	r0, [fp, #-36]
	bl	Jim_InvalidateStringRep
.L2522:
	ldr	r2, .L2524
	ldr	r3, [fp, #-24]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
.L2519:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2525:
	.align	2
.L2524:
	.word	sort_info
	.word	ListSortString
	.word	ListSortStringNoCase
	.word	ListSortInteger
	.word	ListSortReal
	.word	ListSortCommand
	.word	ListSortIndexHelper
	.size	ListSortElements, .-ListSortElements
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListInsertElements, %function
ListInsertElements:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	ble	.L2527
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L2528
	mov	r3, #4
	str	r3, [fp, #-20]
	b	.L2529
.L2528:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	str	r3, [fp, #-20]
.L2529:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	Jim_Realloc
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #24]
.L2527:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L2530
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-28]
.L2530:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r0, r2, r3
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r1, [fp, #-8]
	bl	memmove
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2531
.L2532:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-8]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2531:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L2532
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	str	r2, [r3, #20]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ListInsertElements, .-ListInsertElements
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListAppendElement, %function
ListAppendElement:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	sub	r3, fp, #12
	mov	r2, #1
	mvn	r1, #0
	ldr	r0, [fp, #-8]
	bl	ListInsertElements
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ListAppendElement, .-ListAppendElement
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListAppendList, %function
ListAppendList:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mvn	r1, #0
	ldr	r0, [fp, #-8]
	bl	ListInsertElements
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ListAppendList, .-ListAppendList
	.align	2
	.global	Jim_ListAppendElement
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListAppendElement, %function
Jim_ListAppendElement:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r0, [fp, #-12]
	bl	Jim_InvalidateStringRep
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	ListAppendElement
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ListAppendElement, .-Jim_ListAppendElement
	.align	2
	.global	Jim_ListAppendList
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListAppendList, %function
Jim_ListAppendList:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r0, [fp, #-12]
	bl	Jim_InvalidateStringRep
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	ListAppendList
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ListAppendList, .-Jim_ListAppendList
	.align	2
	.global	Jim_ListLength
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListLength, %function
Jim_ListLength:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ListLength, .-Jim_ListLength
	.align	2
	.global	Jim_ListInsertElements
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListInsertElements, %function
Jim_ListInsertElements:
	@ args = 4, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L2540
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L2540
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-16]
	b	.L2541
.L2540:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L2541
	mov	r3, #0
	str	r3, [fp, #-16]
.L2541:
	ldr	r0, [fp, #-12]
	bl	Jim_InvalidateStringRep
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	ListInsertElements
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ListInsertElements, .-Jim_ListInsertElements
	.align	2
	.global	Jim_ListGetIndex
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListGetIndex, %function
Jim_ListGetIndex:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L2543
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L2544
.L2543:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L2545
	ldr	r3, [fp, #-16]
	mvn	r2, r3
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	blt	.L2545
.L2544:
	mov	r3, #0
	b	.L2546
.L2545:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L2547
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
.L2547:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
.L2546:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ListGetIndex, .-Jim_ListGetIndex
	.section	.rodata
	.align	2
.LC348:
	.ascii	"list index out of range\000"
	.text
	.align	2
	.global	Jim_ListIndex
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListIndex, %function
Jim_ListIndex:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ListGetIndex
	mov	r2, r0
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L2549
	ldr	r3, [fp, #4]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2550
	mvn	r2, #0
	ldr	r1, .L2553
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2551
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2551:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L2550:
	mov	r3, #1
	b	.L2552
.L2549:
	mov	r3, #0
.L2552:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2554:
	.align	2
.L2553:
	.word	.LC348
	.size	Jim_ListIndex, .-Jim_ListIndex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ListSetIndex, %function
ListSetIndex:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	SetListFromAny
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L2556
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bge	.L2557
.L2556:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L2558
	ldr	r3, [fp, #-24]
	mvn	r2, r3
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	blt	.L2558
.L2557:
	ldr	r3, [fp, #4]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2559
	mvn	r2, #0
	ldr	r1, .L2564
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2560
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2560:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L2559:
	mov	r3, #1
	b	.L2561
.L2558:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L2562
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
.L2562:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2563
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L2563:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	mov	r3, #0
.L2561:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2565:
	.align	2
.L2564:
	.word	.LC348
	.size	ListSetIndex, .-ListSetIndex
	.section	.rodata
	.align	2
.LC349:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_ListSetIndex
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListSetIndex, %function
Jim_ListSetIndex:
	@ args = 4, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-56]
	ldr	r3, .L2588
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #5
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_GetVariable
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2567
	mov	r3, #1
	b	.L2581
.L2567:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2569
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DuplicateObj
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-28]
.L2569:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2570
.L2575:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L2583
	ldr	r2, [fp, #-32]
	sub	r3, fp, #36
	mov	r1, #1
	str	r1, [sp]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-40]
	bl	Jim_ListIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L2584
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L2574
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DuplicateObj
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	mov	r1, #0
	str	r1, [sp]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-40]
	bl	ListSetIndex
.L2574:
	ldr	r0, [fp, #-12]
	bl	Jim_InvalidateStringRep
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L2570:
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L2575
	ldr	r3, [fp, #-52]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L2585
	ldr	r1, [fp, #-36]
	ldr	r2, [fp, #-32]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-56]
	ldr	r0, [fp, #-40]
	bl	ListSetIndex
	mov	r3, r0
	cmp	r3, #1
	beq	.L2586
	ldr	r3, [fp, #-36]
	mov	r0, r3
	bl	Jim_InvalidateStringRep
	ldr	r0, [fp, #-28]
	bl	Jim_InvalidateStringRep
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	bne	.L2587
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2579
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L2579:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
	b	.L2581
.L2583:
	nop
	b	.L2572
.L2584:
	nop
	b	.L2572
.L2585:
	nop
	b	.L2572
.L2586:
	nop
	b	.L2572
.L2587:
	nop
.L2572:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2580
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L2580:
	mov	r3, #1
.L2581:
	ldr	r2, .L2588
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2582
	bl	__stack_chk_fail
.L2582:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2589:
	.align	2
.L2588:
	.word	.LC349
	.size	Jim_ListSetIndex, .-Jim_ListSetIndex
	.align	2
	.global	Jim_ListJoin
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListJoin, %function
Jim_ListJoin:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_ListLength
	str	r0, [fp, #-12]
	mov	r2, #0
	ldr	r1, .L2594
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2591
.L2592:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_ListGetIndex
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendObj
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	beq	.L2591
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
.L2591:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	blt	.L2592
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2595:
	.align	2
.L2594:
	.word	.LC86
	.size	Jim_ListJoin, .-Jim_ListJoin
	.section	.rodata
	.align	2
.LC350:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_ConcatObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ConcatObj, %function
Jim_ConcatObj:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L2622
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L2597
.L2600:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_IsList
	mov	r3, r0
	cmp	r3, #0
	beq	.L2620
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2597:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L2600
	b	.L2599
.L2620:
	nop
.L2599:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bne	.L2601
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	Jim_NewListObj
	str	r0, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L2602
.L2603:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ListAppendList
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2602:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L2603
	ldr	r3, [fp, #-12]
	b	.L2604
.L2601:
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L2605
.L2606:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	mov	r2, r0
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2605:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L2606
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L2607
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
.L2607:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L2608
.L2618:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-20]
	b	.L2609
.L2611:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L2609:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2612
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L2611
	b	.L2612
.L2615:
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	ble	.L2613
	ldr	r3, [fp, #-36]
	sub	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L2621
.L2613:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L2612:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2614
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L2615
	b	.L2614
.L2621:
	nop
.L2614:
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	memcpy
	ldr	r3, [fp, #-36]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	beq	.L2616
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2617
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	mov	r2, #32
	strb	r2, [r3]
	b	.L2616
.L2617:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L2616:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L2608:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L2618
	ldr	r3, [fp, #-24]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObjNoAlloc
	mov	r3, r0
.L2604:
	ldr	r2, .L2622
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2619
	bl	__stack_chk_fail
.L2619:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2623:
	.align	2
.L2622:
	.word	.LC350
	.size	Jim_ConcatObj, .-Jim_ConcatObj
	.section	.rodata
	.align	2
.LC351:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_ListRange
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListRange, %function
Jim_ListRange:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L2631
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-32]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L2625
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-32]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L2626
.L2625:
	mov	r3, #0
	b	.L2629
.L2626:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_ListLength
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	JimRelToAbsIndex
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	JimRelToAbsIndex
	mov	r3, r0
	str	r3, [fp, #-20]
	sub	r3, fp, #16
	sub	r2, fp, #20
	sub	r1, fp, #24
	ldr	r0, [fp, #-12]
	bl	JimRelToAbsRange
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L2628
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L2628
	ldr	r3, [fp, #-36]
	b	.L2629
.L2628:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_NewListObj
	mov	r3, r0
.L2629:
	ldr	r2, .L2631
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2630
	bl	__stack_chk_fail
.L2630:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2632:
	.align	2
.L2631:
	.word	.LC351
	.size	Jim_ListRange, .-Jim_ListRange
	.section	.rodata
	.align	2
.LC352:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimObjectHTHashFunction, %function
JimObjectHTHashFunction:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L2636
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	Jim_GenHashFunction
	mov	r3, r0
	ldr	r2, .L2636
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2635
	bl	__stack_chk_fail
.L2635:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2637:
	.align	2
.L2636:
	.word	.LC352
	.size	JimObjectHTHashFunction, .-JimObjectHTHashFunction
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimObjectHTKeyCompare, %function
JimObjectHTKeyCompare:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	Jim_StringEqObj
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimObjectHTKeyCompare, .-JimObjectHTKeyCompare
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimObjectHTKeyValDup, %function
JimObjectHTKeyValDup:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimObjectHTKeyValDup, .-JimObjectHTKeyValDup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimObjectHTKeyValDestructor, %function
JimObjectHTKeyValDestructor:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2644
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L2644:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimObjectHTKeyValDestructor, .-JimObjectHTKeyValDestructor
	.section	.rodata
	.align	2
	.type	JimDictHashTableType, %object
	.size	JimDictHashTableType, 24
JimDictHashTableType:
	.word	JimObjectHTHashFunction
	.word	JimObjectHTKeyValDup
	.word	JimObjectHTKeyValDup
	.word	JimObjectHTKeyCompare
	.word	JimObjectHTKeyValDestructor
	.word	JimObjectHTKeyValDestructor
	.align	2
.LC353:
	.ascii	"dict\000"
	.align	2
	.type	dictObjType, %object
	.size	dictObjType, 20
dictObjType:
	.word	.LC353
	.word	FreeDictInternalRep
	.word	DupDictInternalRep
	.word	UpdateStringOfDict
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeDictInternalRep, %function
FreeDictInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	Jim_FreeHashTable
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeDictInternalRep, .-FreeDictInternalRep
	.section	.rodata
	.align	2
.LC354:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupDictInternalRep, %function
DupDictInternalRep:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L2651
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-36]
	mov	r0, #32
	bl	Jim_Alloc
	str	r0, [fp, #-32]
	ldr	r2, [fp, #-40]
	ldr	r1, .L2651+4
	ldr	r0, [fp, #-32]
	bl	Jim_InitHashTable
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L2647
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #12]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_ExpandHashTable
.L2647:
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	JimInitHashTableIterator
	b	.L2648
.L2649:
	ldr	r3, [fp, #-28]
	ldr	r1, [r3]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-32]
	bl	Jim_AddHashEntry
.L2648:
	sub	r3, fp, #24
	mov	r0, r3
	bl	Jim_NextHashEntry
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2649
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-32]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	ldr	r2, .L2651+8
	str	r2, [r3, #4]
	nop
	ldr	r3, .L2651
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2650
	bl	__stack_chk_fail
.L2650:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2652:
	.align	2
.L2651:
	.word	.LC354
	.word	JimDictHashTableType
	.word	dictObjType
	.size	DupDictInternalRep, .-DupDictInternalRep
	.section	.rodata
	.align	2
.LC355:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictPairs, %function
JimDictPairs:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L2658
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-32]
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	JimInitHashTableIterator
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L2654
.L2655:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	ldr	r2, [r2, #4]
	str	r2, [r3]
.L2654:
	sub	r3, fp, #24
	mov	r0, r3
	bl	Jim_NextHashEntry
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2655
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, .L2658
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2657
	bl	__stack_chk_fail
.L2657:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2659:
	.align	2
.L2658:
	.word	.LC355
	.size	JimDictPairs, .-JimDictPairs
	.section	.rodata
	.align	2
.LC356:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfDict, %function
UpdateStringOfDict:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L2662
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	JimDictPairs
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	JimMakeListStringRep
	ldr	r0, [fp, #-12]
	bl	Jim_Free
	nop
	ldr	r3, .L2662
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2661
	bl	__stack_chk_fail
.L2661:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2663:
	.align	2
.L2662:
	.word	.LC356
	.size	UpdateStringOfDict, .-UpdateStringOfDict
	.section	.rodata
	.align	2
.LC357:
	.ascii	"missing value to go with key\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetDictFromAny, %function
SetDictFromAny:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r2, .L2673
	cmp	r3, r2
	bne	.L2665
	mov	r3, #0
	b	.L2666
.L2665:
	ldr	r0, [fp, #-36]
	bl	Jim_IsList
	mov	r3, r0
	cmp	r3, #0
	beq	.L2667
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L2667
	ldr	r0, [fp, #-36]
	bl	Jim_String
.L2667:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_ListLength
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2668
	mvn	r2, #0
	ldr	r1, .L2673+4
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2669
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L2669:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L2666
.L2668:
	mov	r0, #32
	bl	Jim_Alloc
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-32]
	ldr	r1, .L2673+8
	ldr	r0, [fp, #-20]
	bl	Jim_InitHashTable
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L2670
.L2671:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	Jim_ReplaceHashEntry
	ldr	r3, [fp, #-28]
	add	r3, r3, #2
	str	r3, [fp, #-28]
.L2670:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L2671
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2672
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2672
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	blx	r3
.L2672:
	ldr	r3, [fp, #-36]
	ldr	r2, .L2673
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #16]
	mov	r3, #0
.L2666:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2674:
	.align	2
.L2673:
	.word	dictObjType
	.word	.LC357
	.word	JimDictHashTableType
	.size	SetDictFromAny, .-SetDictFromAny
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DictAddElement, %function
DictAddElement:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L2676
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	Jim_DeleteHashEntry
	mov	r3, r0
	b	.L2677
.L2676:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-8]
	bl	Jim_ReplaceHashEntry
	mov	r3, #0
.L2677:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	DictAddElement, .-DictAddElement
	.align	2
	.global	Jim_DictAddElement
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictAddElement, %function
Jim_DictAddElement:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L2679
	mov	r3, #1
	b	.L2680
.L2679:
	ldr	r0, [fp, #-12]
	bl	Jim_InvalidateStringRep
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	DictAddElement
	mov	r3, r0
.L2680:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_DictAddElement, .-Jim_DictAddElement
	.align	2
	.global	Jim_NewDictObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_NewDictObj, %function
Jim_NewDictObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	Jim_NewObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L2685
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	mov	r0, #32
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-16]
	ldr	r1, .L2685+4
	mov	r0, r3
	bl	Jim_InitHashTable
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L2682
.L2683:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r1
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	DictAddElement
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	str	r3, [fp, #-12]
.L2682:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L2683
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2686:
	.align	2
.L2685:
	.word	dictObjType
	.word	JimDictHashTableType
	.size	Jim_NewDictObj, .-Jim_NewDictObj
	.section	.rodata
	.align	2
.LC358:
	.ascii	"key \"%#s\" not known in dictionary\000"
	.text
	.align	2
	.global	Jim_DictKey
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictKey, %function
Jim_DictKey:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L2688
	mvn	r3, #0
	b	.L2689
.L2688:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-12]
	bl	Jim_FindHashEntry
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L2690
	ldr	r3, [fp, #4]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2691
	ldr	r2, [fp, #-24]
	ldr	r1, .L2692
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
.L2691:
	mov	r3, #1
	b	.L2689
.L2690:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	mov	r3, #0
.L2689:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2693:
	.align	2
.L2692:
	.word	.LC358
	.size	Jim_DictKey, .-Jim_DictKey
	.align	2
	.global	Jim_DictPairs
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictPairs, %function
Jim_DictPairs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L2695
	mov	r3, #1
	b	.L2696
.L2695:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-12]
	bl	JimDictPairs
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L2696:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_DictPairs, .-Jim_DictPairs
	.section	.rodata
	.align	2
.LC359:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_DictKeysVector
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictKeysVector, %function
Jim_DictKeysVector:
	@ args = 8, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-40]
	ldr	r3, .L2704
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L2698
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	mov	r3, #0
	b	.L2699
.L2698:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L2700
.L2702:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r1, fp, #20
	ldr	r3, [fp, #8]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_DictKey
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L2701
	ldr	r3, [fp, #-12]
	b	.L2699
.L2701:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2700:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L2702
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	mov	r3, #0
.L2699:
	ldr	r2, .L2704
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2703
	bl	__stack_chk_fail
.L2703:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2705:
	.align	2
.L2704:
	.word	.LC359
	.size	Jim_DictKeysVector, .-Jim_DictKeysVector
	.section	.rodata
	.align	2
.LC360:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_SetDictKeysVector
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetDictKeysVector, %function
Jim_SetDictKeysVector:
	@ args = 8, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-56]
	ldr	r3, .L2732
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, [fp, #8]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_GetVariable
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L2707
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L2708
	ldr	r3, [fp, #8]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L2708
	mov	r3, #1
	b	.L2725
.L2708:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	Jim_NewDictObj
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L2707
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
	mov	r3, #1
	b	.L2725
.L2707:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2710
	ldr	r3, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DuplicateObj
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
.L2710:
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2711
.L2721:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	bne	.L2727
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L2714
	ldr	r1, [fp, #-32]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r0, [fp, #-40]
	bl	Jim_DictAddElement
	mov	r3, r0
	cmp	r3, #0
	beq	.L2728
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L2729
	ldr	r3, [fp, #8]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L2728
	b	.L2729
.L2714:
	ldr	r0, [fp, #-16]
	bl	Jim_InvalidateStringRep
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	sub	r3, fp, #32
	str	r1, [sp]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_DictKey
	mov	r3, r0
	cmp	r3, #0
	bne	.L2718
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L2719
	ldr	r3, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DuplicateObj
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	DictAddElement
	b	.L2719
.L2718:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L2730
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	Jim_NewDictObj
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	DictAddElement
.L2719:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L2711:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	blt	.L2721
	b	.L2717
.L2728:
	nop
.L2717:
	ldr	r3, [fp, #-32]
	mov	r0, r3
	bl	Jim_InvalidateStringRep
	ldr	r0, [fp, #-28]
	bl	Jim_InvalidateStringRep
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	bne	.L2731
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2723
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L2723:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L2725
.L2727:
	nop
	b	.L2713
.L2729:
	nop
	b	.L2713
.L2730:
	nop
	b	.L2713
.L2731:
	nop
.L2713:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2724
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L2724:
	mov	r3, #1
.L2725:
	ldr	r2, .L2732
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2726
	bl	__stack_chk_fail
.L2726:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2733:
	.align	2
.L2732:
	.word	.LC360
	.size	Jim_SetDictKeysVector, .-Jim_SetDictKeysVector
	.section	.rodata
	.align	2
.LC361:
	.ascii	"index\000"
	.align	2
	.type	indexObjType, %object
	.size	indexObjType, 20
indexObjType:
	.word	.LC361
	.word	0
	.word	0
	.word	UpdateStringOfIndex
	.word	0
	.align	2
.LC362:
	.ascii	"end%d\000"
	.align	2
.LC363:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfIndex, %function
UpdateStringOfIndex:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	ldr	r3, .L2741
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	cmn	r3, #1
	bne	.L2735
	ldr	r1, .L2741+4
	ldr	r0, [fp, #-40]
	bl	JimSetStringBytes
	b	.L2740
.L2735:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	blt	.L2737
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #16]
	sub	r3, fp, #36
	ldr	r1, .L2741+8
	mov	r0, r3
	bl	sprintf
	b	.L2738
.L2737:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	sub	r3, fp, #36
	ldr	r1, .L2741+12
	mov	r0, r3
	bl	sprintf
.L2738:
	sub	r3, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	JimSetStringBytes
.L2740:
	nop
	ldr	r3, .L2741
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L2739
	bl	__stack_chk_fail
.L2739:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2742:
	.align	2
.L2741:
	.word	.LC363
	.word	.LC35
	.word	.LC170
	.word	.LC362
	.size	UpdateStringOfIndex, .-UpdateStringOfIndex
	.section	.rodata
	.align	2
.LC364:
	.ascii	"bad index \"%#s\": must be integer?[+-]integer? or "
	.ascii	"end?[+-]integer?\000"
	.align	2
.LC365:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetIndexFromAny, %function
SetIndexFromAny:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L2767
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r0, [fp, #-36]
	bl	Jim_String
	str	r0, [fp, #-16]
	mov	r2, #3
	ldr	r1, .L2767+4
	ldr	r0, [fp, #-16]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L2744
	mov	r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L2745
.L2744:
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	jim_strtol
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L2764
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
.L2745:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L2748
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L2754
.L2748:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	bne	.L2750
	mov	r3, #1
	b	.L2751
.L2750:
	mvn	r3, #0
.L2751:
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	jim_strtol
	mov	r2, r0
	ldr	r3, [fp, #-12]
	mul	r3, r2, r3
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L2765
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2765
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	b	.L2754
.L2755:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L2754:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L2755
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L2766
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L2757
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L2758
	mvn	r3, #-2147483648
	str	r3, [fp, #-24]
	b	.L2759
.L2758:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L2759
.L2757:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L2759
	mov	r3, #-2147483647
	str	r3, [fp, #-24]
.L2759:
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2760
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2760
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	blx	r3
.L2760:
	ldr	r3, [fp, #-36]
	ldr	r2, .L2767+8
	str	r2, [r3, #4]
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #16]
	mov	r3, #0
	b	.L2762
.L2764:
	nop
	b	.L2747
.L2765:
	nop
	b	.L2747
.L2766:
	nop
.L2747:
	ldr	r2, [fp, #-36]
	ldr	r1, .L2767+12
	ldr	r0, [fp, #-32]
	bl	Jim_SetResultFormatted
	mov	r3, #1
.L2762:
	ldr	r2, .L2767
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2763
	bl	__stack_chk_fail
.L2763:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2768:
	.align	2
.L2767:
	.word	.LC365
	.word	.LC35
	.word	indexObjType
	.word	.LC364
	.size	SetIndexFromAny, .-SetIndexFromAny
	.align	2
	.global	Jim_GetIndex
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetIndex, %function
Jim_GetIndex:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, .L2775
	cmp	r3, r2
	bne	.L2770
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L2771
	ldr	r3, [fp, #-24]
	mov	r2, #-2147483647
	str	r2, [r3]
	b	.L2772
.L2771:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L2772:
	mov	r3, #0
	b	.L2773
.L2770:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, .L2775+4
	cmp	r3, r2
	beq	.L2774
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	SetIndexFromAny
	mov	r3, r0
	cmp	r3, #1
	bne	.L2774
	mov	r3, #1
	b	.L2773
.L2774:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	mov	r3, #0
.L2773:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2776:
	.align	2
.L2775:
	.word	intObjType
	.word	indexObjType
	.size	Jim_GetIndex, .-Jim_GetIndex
	.section	.rodata
	.align	2
.LC366:
	.ascii	"ok\000"
	.align	2
.LC367:
	.ascii	"error\000"
	.align	2
.LC368:
	.ascii	"return\000"
	.align	2
.LC369:
	.ascii	"break\000"
	.align	2
.LC370:
	.ascii	"continue\000"
	.align	2
.LC371:
	.ascii	"signal\000"
	.align	2
.LC372:
	.ascii	"exit\000"
	.align	2
.LC373:
	.ascii	"eval\000"
	.align	2
	.type	jimReturnCodes, %object
	.size	jimReturnCodes, 36
jimReturnCodes:
	.word	.LC366
	.word	.LC367
	.word	.LC368
	.word	.LC369
	.word	.LC370
	.word	.LC371
	.word	.LC372
	.word	.LC373
	.word	0
	.align	2
.LC374:
	.ascii	"return-code\000"
	.align	2
	.type	returnCodeObjType, %object
	.size	returnCodeObjType, 20
returnCodeObjType:
	.word	.LC374
	.word	0
	.word	0
	.word	0
	.word	0
	.align	2
.LC375:
	.ascii	"?\000"
	.text
	.align	2
	.global	Jim_ReturnCode
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ReturnCode, %function
Jim_ReturnCode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L2778
	ldr	r3, [fp, #-8]
	cmp	r3, #8
	ble	.L2779
.L2778:
	ldr	r3, .L2781
	b	.L2780
.L2779:
	ldr	r2, .L2781+4
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #2]
.L2780:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L2782:
	.align	2
.L2781:
	.word	.LC375
	.word	jimReturnCodes
	.size	Jim_ReturnCode, .-Jim_ReturnCode
	.section	.rodata
	.align	2
.LC376:
	.ascii	"expected return code but got \"%#s\"\000"
	.align	2
.LC377:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetReturnCodeFromAny, %function
SetReturnCodeFromAny:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2790
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #12
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimGetWideNoErr
	mov	r3, r0
	cmp	r3, #1
	beq	.L2784
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-16]
	b	.L2785
.L2784:
	sub	r3, fp, #16
	mov	r2, #0
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L2790+4
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L2785
	ldr	r2, [fp, #-28]
	ldr	r1, .L2790+8
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L2788
.L2785:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2787
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L2787
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
.L2787:
	ldr	r3, [fp, #-28]
	ldr	r2, .L2790+12
	str	r2, [r3, #4]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	mov	r3, #0
.L2788:
	ldr	r2, .L2790
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2789
	bl	__stack_chk_fail
.L2789:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2791:
	.align	2
.L2790:
	.word	.LC377
	.word	jimReturnCodes
	.word	.LC376
	.word	returnCodeObjType
	.size	SetReturnCodeFromAny, .-SetReturnCodeFromAny
	.align	2
	.global	Jim_GetReturnCode
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetReturnCode, %function
Jim_GetReturnCode:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L2795
	cmp	r3, r2
	beq	.L2793
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetReturnCodeFromAny
	mov	r3, r0
	cmp	r3, #1
	bne	.L2793
	mov	r3, #1
	b	.L2794
.L2793:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L2794:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2796:
	.align	2
.L2795:
	.word	returnCodeObjType
	.size	Jim_GetReturnCode, .-Jim_GetReturnCode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprPush, %function
ExprPush:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ExprPush, .-ExprPush
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprPop, %function
ExprPop:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r1, r3, #1
	ldr	r3, [fp, #-8]
	str	r1, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ExprPop, .-ExprPop
	.global	__aeabi_d2iz
	.global	__aeabi_dsub
	.global	__aeabi_dadd
	.global	__aeabi_dcmpge
	.section	.rodata
	.align	2
.LC378:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpNumUnary, %function
JimExprOpNumUnary:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L2837
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r0, [fp, #-68]
	bl	ExprPop
	str	r0, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	ldr	r2, .L2837+4
	cmp	r3, r2
	bne	.L2801
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2802
.L2801:
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	JimGetWideNoErr
	mov	r3, r0
	cmp	r3, #0
	bne	.L2802
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	sub	r3, r3, #55
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L2803
.L2805:
	.word	.L2809
	.word	.L2803
	.word	.L2808
	.word	.L2804
	.word	.L2804
	.word	.L2804
	.word	.L2807
	.word	.L2806
	.word	.L2804
.L2804:
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-44]
	b	.L2810
.L2806:
	ldr	r3, [fp, #-56]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2810
.L2807:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-44]
	b	.L2810
.L2808:
	ldr	r3, [fp, #-56]
	rsb	r3, r3, #0
	str	r3, [fp, #-44]
	b	.L2810
.L2809:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-44]
	b	.L2810
.L2803:
	bl	abort
.L2810:
	b	.L2811
.L2802:
	sub	r3, fp, #36
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_GetDouble
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2836
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	sub	r3, r3, #55
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L2812
.L2814:
	.word	.L2819
	.word	.L2812
	.word	.L2818
	.word	.L2815
	.word	.L2817
	.word	.L2817
	.word	.L2816
	.word	.L2815
	.word	.L2813
.L2817:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	str	r3, [fp, #-44]
	b	.L2811
.L2813:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2834
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L2837+8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	b	.L2822
.L2834:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L2837+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
.L2822:
	str	r3, [fp, #-44]
	b	.L2811
.L2815:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2811
.L2816:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L2835
	sub	r5, fp, #36
	ldmia	r5, {r4-r5}
	b	.L2825
.L2835:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r4, r2
	eor	r5, r3, #-2147483648
.L2825:
	str	r4, [fp, #-28]
	str	r5, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2811
.L2818:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r1, r2
	str	r1, [fp, #-28]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L2811
.L2819:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L2826
	mov	r3, #0
	mov	r4, r3
.L2826:
	and	r3, r4, #255
	str	r3, [fp, #-44]
	b	.L2811
.L2812:
	bl	abort
.L2836:
	nop
.L2811:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2827
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L2828
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-64]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-68]
	bl	ExprPush
	b	.L2827
.L2828:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-64]
	bl	Jim_NewDoubleObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-68]
	bl	ExprPush
.L2827:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2829
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L2829:
	ldr	r3, [fp, #-48]
	ldr	r2, .L2837
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2831
	bl	__stack_chk_fail
.L2831:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L2838:
	.align	2
.L2837:
	.word	.LC378
	.word	doubleObjType
	.word	1071644672
	.size	JimExprOpNumUnary, .-JimExprOpNumUnary
	.global	__aeabi_ui2d
	.section	.rodata
	.align	2
.LC379:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRandDouble, %function
JimRandDouble:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L2842
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #12
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimRandomBytes
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	__aeabi_ui2d
	ldr	r2, .L2842+4
	ldr	r3, .L2842+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L2842
	ldr	r0, [r1]
	ldr	r1, [fp, #-8]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L2841
	bl	__stack_chk_fail
.L2841:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2843:
	.align	2
.L2842:
	.word	.LC379
	.word	-2097152
	.word	1106247679
	.size	JimRandDouble, .-JimRandDouble
	.section	.rodata
	.align	2
.LC380:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpIntUnary, %function
JimExprOpIntUnary:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, .L2854
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-16]
	sub	r3, fp, #20
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_GetWide
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L2853
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #56
	beq	.L2846
	cmp	r3, #65
	beq	.L2847
	b	.L2852
.L2846:
	ldr	r3, [fp, #-20]
	mvn	r3, r3
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ExprPush
	b	.L2845
.L2847:
	sub	r3, fp, #20
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	JimPrngSeed
	ldr	r0, [fp, #-24]
	bl	JimRandDouble
	mov	r2, r0
	mov	r3, r1
	ldr	r0, [fp, #-24]
	bl	Jim_NewDoubleObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ExprPush
	b	.L2845
.L2852:
	bl	abort
.L2853:
	nop
.L2845:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2849
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2849:
	ldr	r3, [fp, #-12]
	ldr	r2, .L2854
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2851
	bl	__stack_chk_fail
.L2851:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2855:
	.align	2
.L2854:
	.word	.LC380
	.size	JimExprOpIntUnary, .-JimExprOpIntUnary
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpNone, %function
JimExprOpNone:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimRandDouble
	mov	r2, r0
	mov	r3, r1
	ldr	r0, [fp, #-8]
	bl	Jim_NewDoubleObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ExprPush
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpNone, .-JimExprOpNone
	.section	.rodata
	.align	2
.LC381:
	.ascii	"Division by zero\000"
	.global	__aeabi_idivmod
	.global	__aeabi_uidivmod
	.align	2
.LC382:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpIntBin, %function
JimExprOpIntBin:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L2881
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-60]
	bl	ExprPop
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-60]
	bl	ExprPop
	str	r0, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-44]
	sub	r3, fp, #52
	mov	r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L2859
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L2859
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	sub	r3, r3, #22
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L2860
.L2862:
	.word	.L2868
	.word	.L2860
	.word	.L2860
	.word	.L2867
	.word	.L2866
	.word	.L2865
	.word	.L2865
	.word	.L2860
	.word	.L2860
	.word	.L2860
	.word	.L2860
	.word	.L2860
	.word	.L2860
	.word	.L2864
	.word	.L2863
	.word	.L2861
.L2867:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	lsl	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L2869
.L2866:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	asr	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L2869
.L2864:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	and	r3, r3, r2
	str	r3, [fp, #-40]
	b	.L2869
.L2863:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	eor	r3, r3, r2
	str	r3, [fp, #-40]
	b	.L2869
.L2861:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L2869
.L2868:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L2870
	mov	r3, #0
	str	r3, [fp, #-40]
	mvn	r2, #0
	ldr	r1, .L2881+4
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2871
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L2871:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L2880
.L2870:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L2873
	ldr	r3, [fp, #-48]
	rsb	r3, r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	rsb	r3, r3, #0
	str	r3, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-36]
.L2873:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-48]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L2874
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
.L2874:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L2880
	ldr	r3, [fp, #-40]
	rsb	r3, r3, #0
	str	r3, [fp, #-40]
	b	.L2880
.L2865:
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-32]
	mov	r3, #32
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	__aeabi_uidivmod
	mov	r3, r1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	cmp	r3, #28
	bne	.L2875
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-32]
.L2875:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-32]
	lsl	r2, r2, r3
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-32]
	sub	r3, r1, r3
	ldr	r1, [fp, #-20]
	lsr	r3, r1, r3
	orr	r3, r2, r3
	str	r3, [fp, #-40]
	b	.L2869
.L2860:
	bl	abort
.L2880:
	nop
.L2869:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-60]
	bl	ExprPush
.L2859:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2876
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L2876:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2877
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L2877:
	ldr	r3, [fp, #-44]
	ldr	r2, .L2881
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2879
	bl	__stack_chk_fail
.L2879:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L2882:
	.align	2
.L2881:
	.word	.LC382
	.word	.LC381
	.size	JimExprOpIntBin, .-JimExprOpIntBin
	.global	__aeabi_idiv
	.section	.rodata
	.align	2
.LC383:
	.ascii	"unsupported\000"
	.global	__aeabi_dmul
	.global	__aeabi_dcmple
	.align	2
.LC384:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpBin, %function
JimExprOpBin:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #84
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	ldr	r3, .L2953
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-68]
	ldr	r0, [fp, #-92]
	bl	ExprPop
	str	r0, [fp, #-64]
	ldr	r0, [fp, #-92]
	bl	ExprPop
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	ldr	r2, .L2953+4
	cmp	r3, r2
	bne	.L2884
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2885
.L2884:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	ldr	r2, .L2953+4
	cmp	r3, r2
	bne	.L2886
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2885
.L2886:
	sub	r3, fp, #84
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	JimGetWideNoErr
	mov	r3, r0
	cmp	r3, #0
	bne	.L2885
	sub	r3, fp, #80
	mov	r2, r3
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-88]
	bl	JimGetWideNoErr
	mov	r3, r0
	cmp	r3, #0
	bne	.L2885
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #8]
	sub	r3, r3, #20
	cmp	r3, #61
	ldrls	pc, [pc, r3, asl #2]
	b	.L2887
.L2889:
	.word	.L2899
	.word	.L2898
	.word	.L2887
	.word	.L2897
	.word	.L2896
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2895
	.word	.L2894
	.word	.L2893
	.word	.L2892
	.word	.L2891
	.word	.L2890
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2888
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2887
	.word	.L2888
.L2888:
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-80]
	mov	r1, r2
	mov	r0, r3
	bl	JimPowWide
	str	r0, [fp, #-68]
	b	.L2900
.L2896:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	add	r3, r2, r3
	str	r3, [fp, #-68]
	b	.L2900
.L2897:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	sub	r3, r2, r3
	str	r3, [fp, #-68]
	b	.L2900
.L2899:
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-80]
	mul	r3, r2, r3
	str	r3, [fp, #-68]
	b	.L2900
.L2898:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L2901
	mvn	r2, #0
	ldr	r1, .L2953+8
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObj
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2902
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L2902:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L2952
.L2901:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bge	.L2904
	ldr	r3, [fp, #-80]
	rsb	r3, r3, #0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-84]
	rsb	r3, r3, #0
	str	r3, [fp, #-84]
.L2904:
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-80]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-84]
	ldr	r2, [fp, #-80]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	cmp	r3, #0
	bge	.L2952
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L2952
.L2895:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2900
.L2894:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2900
.L2893:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	movle	r3, #1
	movgt	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2900
.L2892:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2900
.L2891:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2900
.L2890:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2900
.L2887:
	bl	abort
.L2952:
	nop
.L2900:
	b	.L2905
.L2885:
	sub	r3, fp, #44
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	bne	.L2906
	sub	r3, fp, #36
	mov	r2, r3
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-88]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	bne	.L2906
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #8]
	sub	r3, r3, #20
	cmp	r3, #61
	ldrls	pc, [pc, r3, asl #2]
	b	.L2907
.L2909:
	.word	.L2919
	.word	.L2918
	.word	.L2907
	.word	.L2917
	.word	.L2916
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2915
	.word	.L2914
	.word	.L2913
	.word	.L2912
	.word	.L2911
	.word	.L2910
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2908
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2907
	.word	.L2908
.L2908:
	mvn	r2, #0
	ldr	r1, .L2953+12
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObj
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2920
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L2920:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L2921
.L2916:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L2921
.L2917:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L2921
.L2919:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L2921
.L2918:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L2950
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L2951
	mov	r2, #0
	ldr	r3, .L2953+16
	b	.L2926
.L2951:
	mov	r2, #0
	ldr	r3, .L2953+20
.L2926:
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L2921
.L2950:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L2921
.L2915:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L2928
	mov	r3, #0
	mov	r4, r3
.L2928:
	and	r3, r4, #255
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L2921
.L2914:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L2929
	mov	r3, #0
	mov	r4, r3
.L2929:
	and	r3, r4, #255
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L2921
.L2913:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L2930
	mov	r3, #0
	mov	r4, r3
.L2930:
	and	r3, r4, #255
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L2921
.L2912:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L2931
	mov	r3, #0
	mov	r4, r3
.L2931:
	and	r3, r4, #255
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L2921
.L2911:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	bne	.L2932
	mov	r3, #0
	mov	r4, r3
.L2932:
	and	r3, r4, #255
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L2921
.L2910:
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L2933
	mov	r3, #0
	mov	r4, r3
.L2933:
	and	r3, r4, #255
	str	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-76]
	b	.L2921
.L2907:
	bl	abort
.L2921:
	b	.L2905
.L2906:
	mov	r3, #0
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	Jim_StringCompareObj
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #8]
	sub	r3, r3, #29
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L2934
.L2936:
	.word	.L2941
	.word	.L2940
	.word	.L2939
	.word	.L2938
	.word	.L2937
	.word	.L2935
.L2941:
	ldr	r3, [fp, #-48]
	lsr	r3, r3, #31
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2905
.L2940:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2905
.L2939:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	movle	r3, #1
	movgt	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2905
.L2938:
	ldr	r3, [fp, #-48]
	mvn	r3, r3
	lsr	r3, r3, #31
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2905
.L2937:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2905
.L2935:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-68]
	b	.L2905
.L2934:
	mov	r3, #1
	str	r3, [fp, #-72]
	nop
.L2905:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	bne	.L2942
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L2943
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-88]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	ExprPush
	b	.L2942
.L2943:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-88]
	bl	Jim_NewDoubleObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	ExprPush
.L2942:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-60]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2944
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L2944:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-64]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2945
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L2945:
	ldr	r3, [fp, #-72]
	ldr	r2, .L2953
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2947
	bl	__stack_chk_fail
.L2947:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2954:
	.align	2
.L2953:
	.word	.LC384
	.word	doubleObjType
	.word	.LC381
	.word	.LC383
	.word	-1048576
	.word	2146435072
	.size	JimExprOpBin, .-JimExprOpBin
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSearchList, %function
JimSearchList:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ListLength
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L2956
.L2959:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ListGetIndex
	mov	r3, r0
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	Jim_StringEqObj
	mov	r3, r0
	cmp	r3, #0
	beq	.L2957
	mov	r3, #1
	b	.L2958
.L2957:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L2956:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L2959
	mov	r3, #0
.L2958:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimSearchList, .-JimSearchList
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpStrBin, %function
JimExprOpStrBin:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #54
	beq	.L2961
	cmp	r3, #54
	bgt	.L2962
	cmp	r3, #52
	bgt	.L2963
	cmp	r3, #51
	bge	.L2964
	b	.L2962
.L2963:
	cmp	r3, #53
	beq	.L2965
	b	.L2962
.L2964:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_StringEqObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #52
	bne	.L2971
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-16]
	b	.L2971
.L2965:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	JimSearchList
	str	r0, [fp, #-16]
	b	.L2967
.L2961:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	JimSearchList
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-16]
	b	.L2967
.L2962:
	bl	abort
.L2971:
	nop
.L2967:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ExprPush
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2968
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2968:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2969
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2969:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpStrBin, .-JimExprOpStrBin
	.section	.rodata
	.align	2
.LC385:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprBool, %function
ExprBool:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L2979
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L2973
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	b	.L2977
.L2973:
	sub	r3, fp, #28
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	bne	.L2975
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L2976
	mov	r3, #0
	mov	r4, r3
.L2976:
	and	r3, r4, #255
	b	.L2977
.L2975:
	mvn	r3, #0
.L2977:
	ldr	r2, .L2979
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L2978
	bl	__stack_chk_fail
.L2978:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L2980:
	.align	2
.L2979:
	.word	.LC385
	.size	ExprBool, .-ExprBool
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpAndLeft, %function
JimExprOpAndLeft:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	ExprBool
	mov	r3, r0
	cmp	r3, #1
	beq	.L2988
	cmp	r3, #1
	bgt	.L2983
	cmn	r3, #1
	beq	.L2984
	cmp	r3, #0
	bne	.L2983
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ExprPush
	b	.L2983
.L2984:
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L2983
.L2988:
	nop
.L2983:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2985
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2985:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2986
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2986:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpAndLeft, .-JimExprOpAndLeft
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpOrLeft, %function
JimExprOpOrLeft:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	ExprBool
	mov	r3, r0
	cmp	r3, #1
	beq	.L2990
	cmp	r3, #1
	bgt	.L2991
	cmn	r3, #1
	beq	.L2992
	cmp	r3, #0
	b	.L2991
.L2990:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ExprPush
	b	.L2991
.L2992:
	mov	r3, #1
	str	r3, [fp, #-16]
	nop
.L2991:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2993
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2993:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L2994
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L2994:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpOrLeft, .-JimExprOpOrLeft
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpAndOrRight, %function
JimExprOpAndOrRight:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	ExprPop
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	ExprBool
	mov	r3, r0
	cmp	r3, #1
	beq	.L2997
	cmp	r3, #1
	bgt	.L2998
	cmn	r3, #1
	beq	.L2999
	cmp	r3, #0
	bne	.L2998
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ExprPush
	b	.L2998
.L2997:
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ExprPush
	b	.L2998
.L2999:
	mov	r3, #1
	str	r3, [fp, #-12]
	nop
.L2998:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3000
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3000:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpAndOrRight, .-JimExprOpAndOrRight
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpTernaryLeft, %function
JimExprOpTernaryLeft:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-28]
	bl	ExprPush
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	ExprBool
	mov	r3, r0
	cmp	r3, #1
	beq	.L3009
	cmp	r3, #1
	bgt	.L3004
	cmn	r3, #1
	beq	.L3005
	cmp	r3, #0
	bne	.L3004
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ExprPush
	b	.L3004
.L3005:
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L3004
.L3009:
	nop
.L3004:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3006
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3006:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3007
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3007:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpTernaryLeft, .-JimExprOpTernaryLeft
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpColonLeft, %function
JimExprOpColonLeft:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	ExprPop
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	ExprBool
	mov	r3, r0
	cmp	r3, #0
	beq	.L3011
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-28]
	bl	ExprPush
.L3011:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3012
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3012:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3013
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3013:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3014
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3014:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprOpColonLeft, .-JimExprOpColonLeft
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOpNull, %function
JimExprOpNull:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimExprOpNull, .-JimExprOpNull
	.section	.rodata
	.align	2
.LC386:
	.ascii	"%\000"
	.align	2
.LC387:
	.ascii	"-\000"
	.align	2
.LC388:
	.ascii	"+\000"
	.align	2
.LC389:
	.ascii	"<<\000"
	.align	2
.LC390:
	.ascii	">>\000"
	.align	2
.LC391:
	.ascii	"<<<\000"
	.align	2
.LC392:
	.ascii	">>>\000"
	.align	2
.LC393:
	.ascii	"<\000"
	.align	2
.LC394:
	.ascii	">\000"
	.align	2
.LC395:
	.ascii	"<=\000"
	.align	2
.LC396:
	.ascii	">=\000"
	.align	2
.LC397:
	.ascii	"==\000"
	.align	2
.LC398:
	.ascii	"!=\000"
	.align	2
.LC399:
	.ascii	"^\000"
	.align	2
.LC400:
	.ascii	"&&\000"
	.align	2
.LC401:
	.ascii	"||\000"
	.align	2
.LC402:
	.ascii	"**\000"
	.align	2
.LC403:
	.ascii	"eq\000"
	.align	2
.LC404:
	.ascii	"ne\000"
	.align	2
.LC405:
	.ascii	"in\000"
	.align	2
.LC406:
	.ascii	"ni\000"
	.align	2
.LC407:
	.ascii	"!\000"
	.align	2
.LC408:
	.ascii	"~\000"
	.align	2
.LC409:
	.ascii	"wide\000"
	.align	2
.LC410:
	.ascii	"abs\000"
	.align	2
.LC411:
	.ascii	"round\000"
	.align	2
.LC412:
	.ascii	"rand\000"
	.align	2
.LC413:
	.ascii	"srand\000"
	.align	2
	.type	Jim_ExprOperators, %object
	.size	Jim_ExprOperators, 552
Jim_ExprOperators:
	.word	.LC214
	.word	JimExprOpBin
	.byte	110
	.byte	2
	.byte	0
	.byte	1
	.word	.LC68
	.word	JimExprOpBin
	.byte	110
	.byte	2
	.byte	0
	.byte	1
	.word	.LC386
	.word	JimExprOpIntBin
	.byte	110
	.byte	2
	.byte	0
	.byte	1
	.word	.LC387
	.word	JimExprOpBin
	.byte	100
	.byte	2
	.byte	0
	.byte	1
	.word	.LC388
	.word	JimExprOpBin
	.byte	100
	.byte	2
	.byte	0
	.byte	1
	.word	.LC389
	.word	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	2
	.word	.LC390
	.word	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	2
	.word	.LC391
	.word	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	3
	.word	.LC392
	.word	JimExprOpIntBin
	.byte	90
	.byte	2
	.byte	0
	.byte	3
	.word	.LC393
	.word	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	1
	.word	.LC394
	.word	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	1
	.word	.LC395
	.word	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	2
	.word	.LC396
	.word	JimExprOpBin
	.byte	80
	.byte	2
	.byte	0
	.byte	2
	.word	.LC397
	.word	JimExprOpBin
	.byte	70
	.byte	2
	.byte	0
	.byte	2
	.word	.LC398
	.word	JimExprOpBin
	.byte	70
	.byte	2
	.byte	0
	.byte	2
	.word	.LC179
	.word	JimExprOpIntBin
	.byte	50
	.byte	2
	.byte	0
	.byte	1
	.word	.LC399
	.word	JimExprOpIntBin
	.byte	49
	.byte	2
	.byte	0
	.byte	1
	.word	.LC184
	.word	JimExprOpIntBin
	.byte	48
	.byte	2
	.byte	0
	.byte	1
	.word	.LC400
	.word	0
	.byte	10
	.byte	2
	.byte	1
	.byte	2
	.word	0
	.word	JimExprOpAndLeft
	.byte	10
	.byte	2
	.byte	2
	.byte	3
	.word	0
	.word	JimExprOpAndOrRight
	.byte	10
	.byte	2
	.byte	3
	.byte	3
	.word	.LC401
	.word	0
	.byte	9
	.byte	2
	.byte	1
	.byte	2
	.word	0
	.word	JimExprOpOrLeft
	.byte	9
	.byte	2
	.byte	2
	.byte	3
	.word	0
	.word	JimExprOpAndOrRight
	.byte	9
	.byte	2
	.byte	3
	.byte	3
	.word	.LC375
	.word	JimExprOpNull
	.byte	5
	.byte	2
	.byte	1
	.byte	1
	.word	0
	.word	JimExprOpTernaryLeft
	.byte	5
	.byte	2
	.byte	2
	.byte	3
	.word	0
	.word	JimExprOpNull
	.byte	5
	.byte	2
	.byte	3
	.byte	3
	.word	.LC316
	.word	JimExprOpNull
	.byte	5
	.byte	2
	.byte	1
	.byte	1
	.word	0
	.word	JimExprOpColonLeft
	.byte	5
	.byte	2
	.byte	2
	.byte	3
	.word	0
	.word	JimExprOpNull
	.byte	5
	.byte	2
	.byte	3
	.byte	3
	.word	.LC402
	.word	JimExprOpBin
	.byte	-6
	.byte	2
	.byte	0
	.byte	2
	.word	.LC403
	.word	JimExprOpStrBin
	.byte	60
	.byte	2
	.byte	0
	.byte	2
	.word	.LC404
	.word	JimExprOpStrBin
	.byte	60
	.byte	2
	.byte	0
	.byte	2
	.word	.LC405
	.word	JimExprOpStrBin
	.byte	55
	.byte	2
	.byte	0
	.byte	2
	.word	.LC406
	.word	JimExprOpStrBin
	.byte	55
	.byte	2
	.byte	0
	.byte	2
	.word	.LC407
	.word	JimExprOpNumUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	1
	.word	.LC408
	.word	JimExprOpIntUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	1
	.word	0
	.word	JimExprOpNumUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	3
	.word	0
	.word	JimExprOpNumUnary
	.byte	-106
	.byte	1
	.byte	0
	.byte	3
	.word	.LC328
	.word	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	3
	.word	.LC409
	.word	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	4
	.word	.LC410
	.word	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	3
	.word	.LC335
	.word	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	6
	.word	.LC411
	.word	JimExprOpNumUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	5
	.word	.LC412
	.word	JimExprOpNone
	.byte	-56
	.byte	0
	.byte	0
	.byte	4
	.word	.LC413
	.word	JimExprOpIntUnary
	.byte	-56
	.byte	1
	.byte	0
	.byte	5
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseExpression, %function
JimParseExpression:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	b	.L3019
.L3021:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L3020
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
.L3020:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L3019:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L3021
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L3022
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	beq	.L3021
.L3022:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L3023
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #28]
	mov	r3, #0
	b	.L3024
.L3023:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #34
	cmp	r3, #89
	ldrls	pc, [pc, r3, asl #2]
	b	.L3025
.L3027:
	.word	.L3035
	.word	.L3025
	.word	.L3034
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3033
	.word	.L3032
	.word	.L3025
	.word	.L3025
	.word	.L3031
	.word	.L3025
	.word	.L3030
	.word	.L3025
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3030
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3028
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3028
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3029
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3028
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3028
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3025
	.word	.L3026
.L3033:
	ldr	r3, [fp, #-8]
	mov	r2, #11
	str	r2, [r3, #24]
	b	.L3036
.L3032:
	ldr	r3, [fp, #-8]
	mov	r2, #12
	str	r2, [r3, #24]
	b	.L3036
.L3031:
	ldr	r3, [fp, #-8]
	mov	r2, #13
	str	r2, [r3, #24]
.L3036:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	b	.L3037
.L3029:
	ldr	r0, [fp, #-8]
	bl	JimParseCmd
	mov	r3, r0
	b	.L3024
.L3034:
	ldr	r0, [fp, #-8]
	bl	JimParseVar
	mov	r3, r0
	cmp	r3, #1
	bne	.L3038
	ldr	r0, [fp, #-8]
	bl	JimParseExprOperator
	mov	r3, r0
	b	.L3024
.L3038:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #24]
	cmp	r3, #16
	bne	.L3039
	mov	r3, #1
	b	.L3024
.L3039:
	mov	r3, #0
	b	.L3024
.L3030:
	ldr	r0, [fp, #-8]
	bl	JimParseExprNumber
	mov	r3, r0
	b	.L3024
.L3035:
	ldr	r0, [fp, #-8]
	bl	JimParseQuote
	mov	r3, r0
	b	.L3024
.L3026:
	ldr	r0, [fp, #-8]
	bl	JimParseBrace
	mov	r3, r0
	b	.L3024
.L3028:
	ldr	r0, [fp, #-8]
	bl	JimParseExprIrrational
	mov	r3, r0
	cmp	r3, #1
	bne	.L3041
	ldr	r0, [fp, #-8]
	bl	JimParseExprOperator
	mov	r3, r0
	b	.L3024
.L3025:
	ldr	r0, [fp, #-8]
	bl	JimParseExprOperator
	mov	r3, r0
	b	.L3024
.L3041:
	nop
.L3037:
	mov	r3, #0
.L3024:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseExpression, .-JimParseExpression
	.section	.rodata
	.align	2
.LC414:
	.ascii	"eENnIi.\000"
	.align	2
.LC415:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseExprNumber, %function
JimParseExprNumber:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, .L3049
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-16]
	mov	r2, #14
	str	r2, [r3, #24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	r1, r2
	mov	r0, r3
	bl	jim_strtoull
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L3049+4
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L3043
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bne	.L3044
.L3043:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r2, fp, #12
	mov	r1, r2
	mov	r0, r3
	bl	strtod
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bne	.L3045
	mov	r3, #1
	b	.L3047
.L3045:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcs	.L3044
	ldr	r3, [fp, #-16]
	mov	r2, #15
	str	r2, [r3, #24]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
.L3044:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r1, r3
	sub	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	mov	r3, #0
.L3047:
	ldr	r2, .L3049
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3048
	bl	__stack_chk_fail
.L3048:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3050:
	.align	2
.L3049:
	.word	.LC415
	.word	.LC414
	.size	JimParseExprNumber, .-JimParseExprNumber
	.section	.rodata
	.align	2
.LC416:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	0
	.align	2
.LC417:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseExprIrrational, %function
JimParseExprIrrational:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, .L3058
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L3058+4
	sub	ip, fp, #36
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L3052
.L3055:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-32]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r2, #3
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3053
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	add	r2, r3, #3
	ldr	r3, [fp, #-48]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	sub	r2, r3, #3
	ldr	r3, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-48]
	mov	r2, #15
	str	r2, [r3, #24]
	mov	r3, #0
	b	.L3056
.L3053:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L3052:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-32]
	cmp	r3, #0
	bne	.L3055
	mov	r3, #1
.L3056:
	ldr	r2, .L3058
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3057
	bl	__stack_chk_fail
.L3057:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3059:
	.align	2
.L3058:
	.word	.LC417
	.word	.LC416
	.size	JimParseExprIrrational, .-JimParseExprIrrational
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseExprOperator, %function
JimParseExprOperator:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	mvn	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L3061
.L3065:
	ldr	r1, .L3073
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r1, .L3073
	ldr	r2, [fp, #-32]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #11
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L3072
	ldr	r3, [fp, #-12]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L3072
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L3064
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L3064
	ldr	r3, [fp, #-32]
	add	r3, r3, #20
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-24]
	b	.L3064
.L3072:
	nop
.L3064:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L3061:
	ldr	r3, [fp, #-32]
	cmp	r3, #45
	ble	.L3065
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L3066
	mov	r3, #1
	b	.L3067
.L3066:
	ldr	r3, [fp, #-28]
	cmp	r3, #58
	ble	.L3068
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-16]
	b	.L3069
.L3071:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3069:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3070
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L3071
.L3070:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #40
	beq	.L3068
	mov	r3, #1
	b	.L3067
.L3068:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	sub	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #24]
	mov	r3, #0
.L3067:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3074:
	.align	2
.L3073:
	.word	Jim_ExprOperators
	.size	JimParseExprOperator, .-JimParseExprOperator
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprOperatorInfoByOpcode, %function
JimExprOperatorInfoByOpcode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #19
	bgt	.L3076
	ldr	r3, .L3078
	b	.L3077
.L3076:
	ldr	r3, [fp, #-8]
	sub	r2, r3, #20
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L3078+4
	add	r3, r3, r2
.L3077:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L3079:
	.align	2
.L3078:
	.word	dummy_op.14696
	.word	Jim_ExprOperators
	.size	JimExprOperatorInfoByOpcode, .-JimExprOperatorInfoByOpcode
	.section	.rodata
	.align	2
.LC418:
	.ascii	"(%d)\000"
	.text
	.align	2
	.global	jim_tt_name
	.syntax unified
	.arm
	.fpu softvfp
	.type	jim_tt_name, %function
jim_tt_name:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #19
	bgt	.L3081
	ldr	r2, .L3084
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	b	.L3082
.L3081:
	ldr	r0, [fp, #-16]
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3083
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	b	.L3082
.L3083:
	ldr	r2, [fp, #-16]
	ldr	r1, .L3084+4
	ldr	r0, .L3084+8
	bl	sprintf
	ldr	r3, .L3084+8
.L3082:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3085:
	.align	2
.L3084:
	.word	tt_names.14700
	.word	.LC418
	.word	buf.14702
	.size	jim_tt_name, .-jim_tt_name
	.section	.rodata
	.align	2
.LC419:
	.ascii	"expression\000"
	.align	2
	.type	exprObjType, %object
	.size	exprObjType, 20
exprObjType:
	.word	.LC419
	.word	FreeExprInternalRep
	.word	DupExprInternalRep
	.word	0
	.word	1
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprFreeByteCode, %function
ExprFreeByteCode:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L3087
.L3089:
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3088
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3088:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L3087:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L3089
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Free
	ldr	r0, [fp, #-20]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ExprFreeByteCode, .-ExprFreeByteCode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeExprInternalRep, %function
FreeExprInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3090
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L3093
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	ExprFreeByteCode
	b	.L3090
.L3093:
	nop
.L3090:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeExprInternalRep, .-FreeExprInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupExprInternalRep, %function
DupExprInternalRep:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	DupExprInternalRep, .-DupExprInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprCheckCorrectness, %function
ExprCheckCorrectness:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L3096
.L3103:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	sub	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	blt	.L3107
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #44
	beq	.L3099
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #45
	bne	.L3100
.L3099:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L3101
.L3100:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #47
	beq	.L3102
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #48
	bne	.L3101
.L3102:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L3101:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L3096:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L3103
	b	.L3098
.L3107:
	nop
.L3098:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L3104
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3105
.L3104:
	mov	r3, #1
	b	.L3106
.L3105:
	mov	r3, #0
.L3106:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ExprCheckCorrectness, .-ExprCheckCorrectness
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprAddLazyOperator, %function
ExprAddLazyOperator:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L3109
.L3112:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #19
	ble	.L3110
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	mov	r3, r0
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
.L3110:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bge	.L3109
	mov	r3, #1
	b	.L3111
.L3109:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L3112
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #3
	add	r0, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	add	r1, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	lsl	r3, r3, #3
	mov	r2, r3
	bl	memmove
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	add	r2, r3, #2
	ldr	r3, [fp, #-44]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r2, r2, #1
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #124]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, #14
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	add	r4, r2, r3
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [fp, #-40]
	ldr	r2, [r2, #124]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	ldr	r1, [r3]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r2, r2, #2
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-32]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
	b	.L3113
.L3115:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #2
	bne	.L3114
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bge	.L3114
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-44]
	ldr	r1, [r3]
	ldr	r3, [fp, #-36]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r2, r2, #2
	str	r2, [r3, #16]
.L3114:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	str	r3, [fp, #-36]
.L3113:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bgt	.L3115
	mov	r3, #0
.L3111:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	ExprAddLazyOperator, .-ExprAddLazyOperator
	.section	.rodata
	.align	2
.LC420:
	.ascii	"Expression has bad operands to %s\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprAddOperator, %function
ExprAddOperator:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L3117
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	ExprAddLazyOperator
	mov	r3, r0
	cmp	r3, #0
	beq	.L3118
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L3120
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L3119
.L3117:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
.L3118:
	mov	r3, #0
.L3119:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3121:
	.align	2
.L3120:
	.word	.LC420
	.size	ExprAddOperator, .-ExprAddOperator
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprTernaryGetColonLeftIndex, %function
ExprTernaryGetColonLeftIndex:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	b	.L3123
.L3128:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #45
	bne	.L3124
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L3125
.L3124:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #49
	bne	.L3126
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
	b	.L3125
.L3126:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #48
	bne	.L3125
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L3125
	ldr	r3, [fp, #-20]
	b	.L3127
.L3125:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L3123:
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L3128
	mvn	r3, #0
.L3127:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	ExprTernaryGetColonLeftIndex, .-ExprTernaryGetColonLeftIndex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprTernaryGetMoveIndices, %function
ExprTernaryGetMoveIndices:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L3130
.L3135:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #45
	bne	.L3131
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3132
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #-536870910
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #49
	bne	.L3132
	ldr	r3, [fp, #-12]
	sub	r2, r3, #2
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	ExprTernaryGetColonLeftIndex
	mov	r2, r0
	ldr	r3, [fp, #-28]
	str	r2, [r3]
	mov	r3, #1
	b	.L3133
.L3131:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #49
	bne	.L3132
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3134
	mov	r3, #0
	b	.L3133
.L3134:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L3132:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L3130:
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bgt	.L3135
	mov	r3, #0
.L3133:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	ExprTernaryGetMoveIndices, .-ExprTernaryGetMoveIndices
	.section	.rodata
	.align	2
.LC421:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprTernaryReorderExpression, %function
ExprTernaryReorderExpression:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L3148
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L3137
.L3144:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #49
	bne	.L3146
	sub	r3, fp, #28
	sub	r2, fp, #32
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-44]
	bl	ExprTernaryGetMoveIndices
	mov	r3, r0
	cmp	r3, #0
	beq	.L3147
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #3
	add	r2, r2, r3
	sub	r3, fp, #16
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	b	.L3141
.L3142:
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	lsl	r3, r3, #3
	add	r1, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r1
	ldm	r2, {r0, r1}
	stm	r3, {r0, r1}
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3141:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L3142
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mov	r2, r3
	sub	r3, fp, #16
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-24]
	sub	r2, r2, r3
	ldr	r3, [fp, #-44]
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-536870911
	lsl	r3, r3, #3
	add	r3, r0, r3
	ldr	r3, [r3]
	add	r2, r1, r2
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L3143
.L3146:
	nop
	b	.L3143
.L3147:
	nop
.L3143:
	ldr	r3, [fp, #-24]
	sub	r3, r3, #1
	str	r3, [fp, #-24]
.L3137:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bgt	.L3144
	nop
	ldr	r3, .L3148
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L3145
	bl	__stack_chk_fail
.L3145:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3149:
	.align	2
.L3148:
	.word	.LC421
	.size	ExprTernaryReorderExpression, .-ExprTernaryReorderExpression
	.section	.rodata
	.align	2
.LC422:
	.ascii	"Unexpected close parenthesis\000"
	.align	2
.LC423:
	.ascii	"Missing close parenthesis\000"
	.align	2
.LC424:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ExprCreateByteCode, %function
ExprCreateByteCode:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, .L3201
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-80]
	mov	r3, #0
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #8]
	sub	r3, r3, #1
	str	r3, [fp, #-72]
	mov	r0, #12
	bl	Jim_Alloc
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-68]
	mov	r2, #0
	str	r2, [r3, #4]
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_InitStack
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L3151
.L3153:
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3, #10]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L3152
	ldr	r3, [fp, #-72]
	add	r3, r3, #2
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	cmp	r3, #44
	bne	.L3152
	mov	r3, #1
	str	r3, [fp, #-76]
.L3152:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L3151:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	blt	.L3153
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-68]
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L3154
.L3185:
	ldr	r3, [fp, #-100]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #4
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	add	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #7
	beq	.L3196
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	sub	r3, r3, #1
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L3157
.L3159:
	.word	.L3158
	.word	.L3158
	.word	.L3158
	.word	.L3158
	.word	.L3158
	.word	.L3157
	.word	.L3157
	.word	.L3157
	.word	.L3157
	.word	.L3157
	.word	.L3163
	.word	.L3162
	.word	.L3197
	.word	.L3160
	.word	.L3160
	.word	.L3158
.L3158:
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	str	r2, [r3, #4]
.L3164:
	ldr	r3, [fp, #-64]
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r0, [fp, #-96]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #5
	bne	.L3165
	ldr	r3, [fp, #-60]
	ldr	r1, [r3]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-104]
	ldr	r0, [fp, #-96]
	bl	JimSetSourceInfo
.L3165:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	str	r2, [r3, #4]
	b	.L3166
.L3160:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #14
	bne	.L3167
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	sub	r2, fp, #92
	mov	r1, r2
	mov	r0, r3
	bl	jim_strtoull
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L3168
.L3167:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	sub	r2, fp, #92
	mov	r1, r2
	mov	r0, r3
	bl	strtod
	mov	r2, r0
	mov	r3, r1
	ldr	r0, [fp, #-96]
	bl	Jim_NewDoubleObj
	mov	r2, r0
	ldr	r3, [fp, #-60]
	str	r2, [r3]
.L3168:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [fp, #-64]
	ldr	r2, [r2, #4]
	add	r2, r3, r2
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	beq	.L3169
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	Jim_FreeObj
	ldr	r3, [fp, #-60]
	mov	r2, #1
	str	r2, [r3, #4]
	b	.L3164
.L3169:
	ldr	r3, [fp, #-64]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	str	r2, [r3, #4]
	b	.L3166
.L3163:
	sub	r3, fp, #20
	ldr	r1, [fp, #-64]
	mov	r0, r3
	bl	Jim_StackPush
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L3170
.L3162:
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L3171
.L3175:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_StackPop
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #11
	bne	.L3172
	mov	r3, #1
	str	r3, [fp, #-88]
	b	.L3173
.L3172:
	ldr	r2, [fp, #-56]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	ExprAddOperator
	mov	r3, r0
	cmp	r3, #0
	bne	.L3198
.L3171:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_StackLen
	mov	r3, r0
	cmp	r3, #0
	bne	.L3175
.L3173:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L3199
	mvn	r2, #0
	ldr	r1, .L3201+4
	ldr	r0, [fp, #-96]
	bl	Jim_NewStringObj
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3177
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	Jim_FreeObj
.L3177:
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	b	.L3174
.L3157:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L3178
	ldr	r3, [fp, #-80]
	cmp	r3, #19
	ble	.L3179
.L3178:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #23
	bne	.L3180
	ldr	r3, [fp, #-64]
	mov	r2, #57
	str	r2, [r3, #8]
	b	.L3179
.L3180:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	cmp	r3, #24
	bne	.L3179
	ldr	r3, [fp, #-64]
	mov	r2, #58
	str	r2, [r3, #8]
.L3179:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-48]
	b	.L3181
.L3184:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #9]	@ zero_extendqisi2
	cmp	r3, #1
	beq	.L3182
	ldr	r3, [fp, #-40]
	ldrb	r2, [r3, #8]	@ zero_extendqisi2
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3, #8]	@ zero_extendqisi2
	cmp	r2, r3
	bcc	.L3182
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	ExprAddOperator
	mov	r3, r0
	cmp	r3, #0
	beq	.L3183
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L3174
.L3183:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_StackPop
.L3181:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_StackPeek
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L3184
.L3182:
	sub	r3, fp, #20
	ldr	r1, [fp, #-64]
	mov	r0, r3
	bl	Jim_StackPush
	b	.L3166
.L3199:
	nop
.L3166:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-80]
	b	.L3170
.L3197:
	nop
.L3170:
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L3154:
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	bge	.L3186
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L3185
	b	.L3186
.L3196:
	nop
	b	.L3186
.L3189:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_StackPop
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #11
	bne	.L3187
	mov	r3, #0
	str	r3, [fp, #-88]
	mvn	r2, #0
	ldr	r1, .L3201+8
	ldr	r0, [fp, #-96]
	bl	Jim_NewStringObj
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3188
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	Jim_FreeObj
.L3188:
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	b	.L3174
.L3187:
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	ExprAddOperator
	mov	r3, r0
	cmp	r3, #0
	beq	.L3186
	mov	r3, #0
	str	r3, [fp, #-88]
	b	.L3174
.L3186:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_StackLen
	mov	r3, r0
	cmp	r3, #0
	bne	.L3189
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L3200
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	ExprTernaryReorderExpression
	b	.L3174
.L3198:
	nop
	b	.L3174
.L3200:
	nop
.L3174:
	sub	r3, fp, #20
	mov	r0, r3
	bl	Jim_FreeStack
	mov	r3, #0
	str	r3, [fp, #-84]
	b	.L3190
.L3191:
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-84]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-84]
.L3190:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-84]
	cmp	r2, r3
	blt	.L3191
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L3192
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-96]
	bl	ExprFreeByteCode
	mov	r3, #0
	b	.L3194
.L3192:
	ldr	r3, [fp, #-68]
.L3194:
	ldr	r2, .L3201
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3195
	bl	__stack_chk_fail
.L3195:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3202:
	.align	2
.L3201:
	.word	.LC424
	.word	.LC422
	.word	.LC423
	.size	ExprCreateByteCode, .-ExprCreateByteCode
	.section	.rodata
	.align	2
.LC425:
	.ascii	"syntax error in expression: \"%#s\"\000"
	.align	2
.LC426:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetExprFromAny, %function
SetExprFromAny:
	@ args = 0, pretend = 0, frame = 416
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #424
	str	r0, [fp, #-416]
	str	r1, [fp, #-420]
	ldr	r3, .L3221
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-396]
	ldr	r3, [fp, #-420]
	ldr	r3, [r3, #4]
	ldr	r2, .L3221+4
	cmp	r3, r2
	bne	.L3204
	ldr	r3, [fp, #-420]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-400]
	ldr	r3, [fp, #-420]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-404]
	b	.L3205
.L3204:
	ldr	r3, [fp, #-416]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-400]
	mov	r3, #1
	str	r3, [fp, #-404]
.L3205:
	ldr	r3, [fp, #-400]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-400]
	str	r2, [r3, #8]
	sub	r3, fp, #412
	mov	r1, r3
	ldr	r0, [fp, #-420]
	bl	Jim_GetString
	str	r0, [fp, #-392]
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListInit
	ldr	r2, [fp, #-412]
	sub	r0, fp, #388
	ldr	r3, [fp, #-404]
	ldr	r1, [fp, #-392]
	bl	JimParserInit
	b	.L3206
.L3210:
	sub	r3, fp, #388
	mov	r0, r3
	bl	JimParseExpression
	mov	r3, r0
	cmp	r3, #0
	beq	.L3207
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListFree
.L3208:
	ldr	r2, [fp, #-420]
	ldr	r1, .L3221+8
	ldr	r0, [fp, #-416]
	bl	Jim_SetResultFormatted
	mov	r3, #0
	str	r3, [fp, #-408]
	b	.L3209
.L3207:
	ldr	r1, [fp, #-376]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	ip, [fp, #-364]
	ldr	r3, [fp, #-368]
	sub	r0, fp, #340
	str	r3, [sp]
	mov	r3, ip
	bl	ScriptAddToken
.L3206:
	ldr	r3, [fp, #-360]
	cmp	r3, #0
	beq	.L3210
	ldr	r3, [fp, #-348]
	mov	r1, r3
	ldr	r0, [fp, #-416]
	bl	JimParseCheckMissing
	mov	r3, r0
	cmp	r3, #1
	bne	.L3211
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListFree
	ldr	r3, [fp, #-400]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-400]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-400]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3212
	ldr	r1, [fp, #-400]
	ldr	r0, [fp, #-416]
	bl	Jim_FreeObj
.L3212:
	mov	r3, #1
	b	.L3218
.L3211:
	sub	r3, fp, #340
	ldr	r2, [fp, #-400]
	mov	r1, r3
	ldr	r0, [fp, #-416]
	bl	ExprCreateByteCode
	str	r0, [fp, #-408]
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListFree
	ldr	r3, [fp, #-408]
	cmp	r3, #0
	beq	.L3220
	ldr	r0, [fp, #-408]
	bl	ExprCheckCorrectness
	mov	r3, r0
	cmp	r3, #0
	beq	.L3215
	ldr	r1, [fp, #-408]
	ldr	r0, [fp, #-416]
	bl	ExprFreeByteCode
	b	.L3208
.L3215:
	mov	r3, #0
	str	r3, [fp, #-396]
	b	.L3209
.L3220:
	nop
.L3209:
	ldr	r3, [fp, #-400]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-400]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-400]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3216
	ldr	r1, [fp, #-400]
	ldr	r0, [fp, #-416]
	bl	Jim_FreeObj
.L3216:
	ldr	r3, [fp, #-420]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3217
	ldr	r3, [fp, #-420]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3217
	ldr	r3, [fp, #-420]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-420]
	ldr	r0, [fp, #-416]
	blx	r3
.L3217:
	ldr	r3, [fp, #-420]
	ldr	r2, [fp, #-408]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-420]
	ldr	r2, .L3221+12
	str	r2, [r3, #4]
	ldr	r3, [fp, #-396]
.L3218:
	ldr	r2, .L3221
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3219
	bl	__stack_chk_fail
.L3219:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3222:
	.align	2
.L3221:
	.word	.LC426
	.word	sourceObjType
	.word	.LC425
	.word	exprObjType
	.size	SetExprFromAny, .-SetExprFromAny
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimGetExpression, %function
JimGetExpression:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L3226
	cmp	r3, r2
	beq	.L3224
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetExprFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L3224
	mov	r3, #0
	b	.L3225
.L3224:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
.L3225:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3227:
	.align	2
.L3226:
	.word	exprObjType
	.size	JimGetExpression, .-JimGetExpression
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimExprIntValOrVar, %function
JimExprIntValOrVar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #14
	bne	.L3229
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	b	.L3230
.L3229:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bne	.L3231
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_GetVariable
	mov	r3, r0
	b	.L3230
.L3231:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #4
	bne	.L3232
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	JimExpandDictSugar
	mov	r3, r0
	b	.L3230
.L3232:
	mov	r3, #0
.L3230:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimExprIntValOrVar, .-JimExprIntValOrVar
	.section	.rodata
	.align	2
.LC427:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_EvalExpression
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalExpression, %function
Jim_EvalExpression:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	ldr	r3, .L3290
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-92]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-104]
	bl	JimGetExpression
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L3234
	mov	r3, #1
	b	.L3282
.L3234:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	beq	.L3236
	cmp	r3, #3
	bgt	.L3237
	cmp	r3, #1
	beq	.L3238
	cmp	r3, #2
	beq	.L3239
	b	.L3237
.L3238:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	JimExprIntValOrVar
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L3284
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	mov	r3, #0
	b	.L3282
.L3239:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	cmp	r3, #55
	bne	.L3285
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	JimExprIntValOrVar
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L3285
	ldr	r0, [fp, #-80]
	bl	JimIsWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3285
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L3242
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #132]
	b	.L3243
.L3242:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #128]
.L3243:
	ldr	r2, [fp, #-112]
	str	r3, [r2]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L3282
.L3236:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	JimExprIntValOrVar
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	beq	.L3286
	ldr	r0, [fp, #-80]
	bl	JimIsWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3286
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	add	r3, r3, #8
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	JimExprIntValOrVar
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L3286
	ldr	r0, [fp, #-76]
	bl	JimIsWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3286
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r3, [r3, #4]
	sub	r3, r3, #29
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L3287
.L3247:
	.word	.L3252
	.word	.L3251
	.word	.L3250
	.word	.L3249
	.word	.L3248
	.word	.L3246
.L3252:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	movlt	r3, #1
	movge	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	b	.L3253
.L3250:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	movle	r3, #1
	movgt	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	b	.L3253
.L3251:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	movgt	r3, #1
	movle	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	b	.L3253
.L3249:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	b	.L3253
.L3248:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	b	.L3253
.L3246:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-88]
	nop
.L3253:
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L3254
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #128]
	b	.L3255
.L3254:
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #132]
.L3255:
	ldr	r2, [fp, #-112]
	str	r3, [r2]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L3282
.L3284:
	nop
	b	.L3237
.L3285:
	nop
	b	.L3237
.L3286:
	nop
	b	.L3237
.L3287:
	nop
.L3237:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-84]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	cmp	r3, #10
	ble	.L3256
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	mov	r3, r0
	str	r3, [fp, #-64]
	b	.L3257
.L3256:
	sub	r3, fp, #48
	str	r3, [fp, #-64]
.L3257:
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L3258
.L3275:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	cmp	r3, #14
	ldrls	pc, [pc, r3, asl #2]
	b	.L3259
.L3261:
	.word	.L3260
	.word	.L3265
	.word	.L3264
	.word	.L3263
	.word	.L3262
	.word	.L3259
	.word	.L3259
	.word	.L3259
	.word	.L3259
	.word	.L3259
	.word	.L3259
	.word	.L3259
	.word	.L3259
	.word	.L3260
	.word	.L3260
.L3260:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #64
	mov	r1, r2
	mov	r0, r3
	bl	ExprPush
	b	.L3273
.L3264:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_GetVariable
	mov	r3, r0
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L3267
	ldr	r2, [fp, #-100]
	sub	r3, fp, #64
	mov	r1, r2
	mov	r0, r3
	bl	ExprPush
	b	.L3273
.L3267:
	mov	r3, #1
	str	r3, [fp, #-92]
	b	.L3273
.L3263:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	JimExpandDictSugar
	mov	r3, r0
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L3269
	ldr	r2, [fp, #-100]
	sub	r3, fp, #64
	mov	r1, r2
	mov	r0, r3
	bl	ExprPush
	b	.L3273
.L3269:
	mov	r3, #1
	str	r3, [fp, #-92]
	b	.L3273
.L3265:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r2, fp, #100
	mov	r3, #0
	ldr	r0, [fp, #-104]
	bl	Jim_SubstObj
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L3288
	ldr	r2, [fp, #-100]
	sub	r3, fp, #64
	mov	r1, r2
	mov	r0, r3
	bl	ExprPush
	b	.L3288
.L3262:
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_EvalObj
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L3289
	ldr	r3, [fp, #-104]
	ldr	r2, [r3]
	sub	r3, fp, #64
	mov	r1, r2
	mov	r0, r3
	bl	ExprPush
	b	.L3289
.L3259:
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-84]
	ldr	r2, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	mov	r0, r3
	bl	JimExprOperatorInfoByOpcode
	mov	r3, r0
	ldr	r3, [r3, #4]
	sub	r2, fp, #64
	mov	r1, r2
	ldr	r0, [fp, #-104]
	blx	r3
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	str	r3, [fp, #-96]
	b	.L3273
.L3288:
	nop
	b	.L3273
.L3289:
	nop
.L3273:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L3258:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	bge	.L3274
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L3275
.L3274:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-84]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L3276
	sub	r3, fp, #64
	mov	r0, r3
	bl	ExprPop
	mov	r2, r0
	ldr	r3, [fp, #-112]
	str	r2, [r3]
	b	.L3277
.L3276:
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L3278
.L3280:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3279
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_FreeObj
.L3279:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L3278:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	blt	.L3280
.L3277:
	ldr	r2, [fp, #-64]
	sub	r3, fp, #48
	cmp	r2, r3
	beq	.L3281
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	Jim_Free
.L3281:
	ldr	r3, [fp, #-92]
.L3282:
	ldr	r2, .L3290
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3283
	bl	__stack_chk_fail
.L3283:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3291:
	.align	2
.L3290:
	.word	.LC427
	.size	Jim_EvalExpression, .-Jim_EvalExpression
	.section	.rodata
	.align	2
.LC428:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_GetBoolFromExpr
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetBoolFromExpr, %function
Jim_GetBoolFromExpr:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, .L3303
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #36
	mov	r2, r3
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	Jim_EvalExpression
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L3293
	ldr	r3, [fp, #-32]
	b	.L3301
.L3293:
	ldr	r3, [fp, #-36]
	sub	r2, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	JimGetWideNoErr
	mov	r3, r0
	cmp	r3, #0
	beq	.L3295
	ldr	r3, [fp, #-36]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L3296
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3297
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L3297:
	mov	r3, #1
	b	.L3301
.L3296:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3298
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L3298:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	mov	r3, #1
	mov	r4, r3
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L3299
	mov	r3, #0
	mov	r4, r3
.L3299:
	and	r3, r4, #255
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	mov	r3, #0
	b	.L3301
.L3295:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3300
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L3300:
	mov	r3, #0
.L3301:
	ldr	r2, .L3303
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3302
	bl	__stack_chk_fail
.L3302:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3304:
	.align	2
.L3303:
	.word	.LC428
	.size	Jim_GetBoolFromExpr, .-Jim_GetBoolFromExpr
	.section	.rodata
	.align	2
.LC429:
	.ascii	"scanformatstring\000"
	.align	2
	.type	scanFmtStringObjType, %object
	.size	scanFmtStringObjType, 20
scanFmtStringObjType:
	.word	.LC429
	.word	FreeScanFmtInternalRep
	.word	DupScanFmtInternalRep
	.word	UpdateStringOfScanFmt
	.word	0
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	FreeScanFmtInternalRep, %function
FreeScanFmtInternalRep:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	Jim_Free
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3, #16]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	FreeScanFmtInternalRep, .-FreeScanFmtInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DupScanFmtInternalRep, %function
DupScanFmtInternalRep:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	ldr	r2, .L3307
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3308:
	.align	2
.L3307:
	.word	scanFmtStringObjType
	.size	DupScanFmtInternalRep, .-DupScanFmtInternalRep
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateStringOfScanFmt, %function
UpdateStringOfScanFmt:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	JimSetStringBytes
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	UpdateStringOfScanFmt, .-UpdateStringOfScanFmt
	.section	.rodata
	.align	2
.LC430:
	.ascii	"%d%n\000"
	.align	2
.LC431:
	.ascii	"cannot mix \"%\" and \"%n$\" conversion specifiers\000"
	.align	2
.LC432:
	.ascii	"variable is assigned by multiple \"%n$\" conversion"
	.ascii	" specifiers\000"
	.align	2
.LC433:
	.ascii	"unmatched [ in format string\000"
	.align	2
.LC434:
	.ascii	"hlL\000"
	.align	2
.LC435:
	.ascii	"efgcsndoxui\000"
	.align	2
.LC436:
	.ascii	"bad scan conversion character\000"
	.align	2
.LC437:
	.ascii	"field width may not be specified in %c conversion\000"
	.align	2
.LC438:
	.ascii	"unsigned wide not supported\000"
	.align	2
.LC439:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetScanFmtFromAny, %function
SetScanFmtFromAny:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	ldr	r3, .L3363
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3311
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3311
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-88]
	blx	r3
.L3311:
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-72]
	b	.L3312
.L3314:
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L3313
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
.L3313:
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L3312:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L3314
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	mov	r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-72]
	add	r3, r2, r3
	add	r3, r3, #55
	str	r3, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	Jim_Alloc
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-32]
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-28]
	bl	memset
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-72]
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #24
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	add	r2, r3, #4
	ldr	r3, [fp, #-28]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	add	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-92]
	ldr	r2, .L3363+4
	str	r2, [r3, #4]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L3315
.L3357:
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r2, [fp, #-56]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #24
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L3316
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L3317
.L3316:
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3, #16]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #4]
	b	.L3318
.L3322:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L3319
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L3359
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L3319:
	ldr	r3, [fp, #-68]
	add	r2, r3, #1
	str	r2, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	ldr	r2, [fp, #-60]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L3318:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bcc	.L3322
	b	.L3321
.L3359:
	nop
.L3321:
	ldr	r3, [fp, #-68]
	add	r2, r3, #1
	str	r2, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
.L3317:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bcs	.L3360
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	bne	.L3325
	ldr	r3, [fp, #-20]
	mvn	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L3326
.L3325:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #12]
.L3326:
	sub	r3, fp, #76
	sub	r2, fp, #80
	ldr	r1, .L3363+8
	ldr	r0, [fp, #-60]
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L3327
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, r2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmn	r3, #1
	beq	.L3328
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L3328
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-20]
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L3329
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bgt	.L3330
.L3329:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	ble	.L3331
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L3331
.L3330:
	ldr	r3, [fp, #-28]
	ldr	r2, .L3363+12
	str	r2, [r3, #20]
	mov	r3, #1
	b	.L3356
.L3331:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L3333
.L3336:
	ldr	r1, [fp, #-28]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #40
	ldr	r3, [r3]
	cmn	r3, #1
	beq	.L3361
	ldr	r1, [fp, #-28]
	ldr	r2, [fp, #-52]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	add	r3, r3, #40
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r2, r3
	bne	.L3335
	ldr	r3, [fp, #-28]
	ldr	r2, .L3363+16
	str	r2, [r3, #20]
	mov	r3, #1
	b	.L3356
.L3361:
	nop
.L3335:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L3333:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L3336
	sub	r3, fp, #76
	sub	r2, fp, #80
	ldr	r1, .L3363+8
	ldr	r0, [fp, #-60]
	bl	__isoc99_sscanf
	mov	r3, r0
	cmp	r3, #1
	bne	.L3337
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-76]
	mov	r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, r2
	str	r3, [fp, #-60]
.L3337:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	ble	.L3362
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bls	.L3362
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, [fp, #-28]
	str	r2, [r3, #16]
	b	.L3362
.L3328:
	ldr	r3, [fp, #-80]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	b	.L3327
.L3362:
	nop
.L3327:
	ldr	r3, [fp, #-64]
	cmn	r3, #1
	bne	.L3339
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-64]
.L3339:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L3340
	mov	r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	mov	r2, #91
	strb	r2, [r3, #16]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #94
	bne	.L3341
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldr	r2, [fp, #-68]
	add	r1, r2, #1
	str	r1, [fp, #-68]
	mov	r1, r2
	ldr	r2, [fp, #-24]
	add	r2, r2, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
.L3341:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L3343
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldr	r2, [fp, #-68]
	add	r1, r2, #1
	str	r1, [fp, #-68]
	mov	r1, r2
	ldr	r2, [fp, #-24]
	add	r2, r2, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
	b	.L3343
.L3345:
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldr	r2, [fp, #-68]
	add	r1, r2, #1
	str	r1, [fp, #-68]
	mov	r1, r2
	ldr	r2, [fp, #-24]
	add	r2, r2, r1
	ldrb	r3, [r3]	@ zero_extendqisi2
	strb	r3, [r2]
.L3343:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3344
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L3345
.L3344:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L3346
	ldr	r3, [fp, #-28]
	ldr	r2, .L3363+20
	str	r2, [r3, #20]
	mov	r3, #1
	b	.L3356
.L3346:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-68]
	add	r2, r3, #1
	str	r2, [fp, #-68]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	mov	r2, #0
	strb	r2, [r3]
	b	.L3347
.L3351:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L3348
.L3350:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L3349
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bls	.L3349
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-81]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r1, [fp, #-24]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrb	r2, [fp, #-81]
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-48]
.L3349:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L3348:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L3350
.L3347:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L3351
	b	.L3352
.L3340:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L3363+24
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L3353
	ldr	r3, [fp, #-60]
	add	r2, r3, #1
	str	r2, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	tolower
	mov	r3, r0
	and	r2, r3, #255
	ldr	r3, [fp, #-20]
	strb	r2, [r3, #17]
.L3353:
	ldr	r3, [fp, #-60]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-20]
	strb	r2, [r3, #16]
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L3363+28
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L3354
	ldr	r3, [fp, #-28]
	ldr	r2, .L3363+32
	str	r2, [r3, #20]
	mov	r3, #1
	b	.L3356
.L3354:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #99
	bne	.L3355
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L3355
	ldr	r3, [fp, #-28]
	ldr	r2, .L3363+36
	str	r2, [r3, #20]
	mov	r3, #1
	b	.L3356
.L3355:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #117
	bne	.L3352
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3, #17]	@ zero_extendqisi2
	cmp	r3, #108
	bne	.L3352
	ldr	r3, [fp, #-28]
	ldr	r2, .L3363+40
	str	r2, [r3, #20]
	mov	r3, #1
	b	.L3356
.L3352:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L3315:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bcc	.L3357
	b	.L3324
.L3360:
	nop
.L3324:
	mov	r3, #0
.L3356:
	ldr	r2, .L3363
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3358
	bl	__stack_chk_fail
.L3358:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3364:
	.align	2
.L3363:
	.word	.LC439
	.word	scanFmtStringObjType
	.word	.LC430
	.word	.LC431
	.word	.LC432
	.word	.LC433
	.word	.LC434
	.word	.LC435
	.word	.LC436
	.word	.LC437
	.word	.LC438
	.size	SetScanFmtFromAny, .-SetScanFmtFromAny
	.section	.rodata
	.align	2
.LC440:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimScanAString, %function
JimScanAString:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L3378
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-40]
	bl	Jim_StrDup
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
	b	.L3366
.L3373:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L3367
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L3376
.L3367:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L3370
	ldr	r3, [fp, #-24]
	mov	r2, #2
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	JimCharsetMatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L3377
	b	.L3370
.L3371:
	ldr	r2, [fp, #-40]
	add	r3, r2, #1
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-20]
	add	r1, r3, #1
	str	r1, [fp, #-20]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
.L3370:
	ldr	r3, [fp, #-16]
	sub	r2, r3, #1
	str	r2, [fp, #-16]
	cmp	r3, #0
	bne	.L3371
.L3366:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3373
	b	.L3372
.L3376:
	nop
	b	.L3372
.L3377:
	nop
.L3372:
	ldr	r3, [fp, #-20]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObjNoAlloc
	mov	r3, r0
	ldr	r2, .L3378
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3375
	bl	__stack_chk_fail
.L3375:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3379:
	.align	2
.L3378:
	.word	.LC440
	.size	JimScanAString, .-JimScanAString
	.section	.rodata
	.align	2
.LC441:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ScanOneEntry, %function
ScanOneEntry:
	@ args = 12, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #12]
	str	r3, [fp, #-92]
	ldr	r3, .L3427
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, [fp, #8]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #24
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-80]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-92]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3381
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L3382
.L3389:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	ldr	r1, [r3, #4]
	ldr	r3, [fp, #-52]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	beq	.L3383
	b	.L3384
.L3386:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L3384:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L3385
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L3386
	b	.L3385
.L3383:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-80]
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L3425
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L3385:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L3382:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	bge	.L3388
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L3389
	b	.L3388
.L3425:
	nop
.L3388:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	blt	.L3390
	mvn	r3, #0
	b	.L3391
.L3390:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3381
	mov	r3, #0
	b	.L3391
.L3381:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #99
	beq	.L3392
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #91
	beq	.L3392
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #110
	beq	.L3392
	b	.L3393
.L3394:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L3393:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8192
	cmp	r3, #0
	bne	.L3394
.L3392:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #110
	bne	.L3395
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	b	.L3396
.L3395:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	blt	.L3397
	mvn	r3, #0
	b	.L3391
.L3397:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #99
	bne	.L3398
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-64]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	b	.L3391
.L3398:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	beq	.L3399
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	sub	r3, r2, r3
	cmp	r3, #0
	bge	.L3400
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	b	.L3401
.L3400:
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-80]
	sub	r3, r2, r3
.L3401:
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	movcc	r3, r2
	movcs	r3, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_NewStringObjUtf8
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	b	.L3402
.L3399:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	str	r3, [fp, #-60]
.L3402:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	sub	r3, r3, #91
	cmp	r3, #29
	ldrls	pc, [pc, r3, asl #2]
	b	.L3403
.L3405:
	.word	.L3406
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3404
	.word	.L3407
	.word	.L3407
	.word	.L3407
	.word	.L3403
	.word	.L3404
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3404
	.word	.L3403
	.word	.L3403
	.word	.L3403
	.word	.L3406
	.word	.L3403
	.word	.L3404
	.word	.L3403
	.word	.L3403
	.word	.L3404
.L3404:
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #111
	beq	.L3408
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #120
	beq	.L3409
	ldr	r3, [fp, #-40]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #105
	bne	.L3410
	mov	r3, #0
	b	.L3413
.L3410:
	mov	r3, #10
	b	.L3413
.L3409:
	mov	r3, #16
	b	.L3413
.L3408:
	mov	r3, #8
.L3413:
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L3414
	sub	r3, fp, #64
	mov	r1, r3
	ldr	r0, [fp, #-60]
	bl	jim_strtoull
	str	r0, [fp, #-44]
	b	.L3415
.L3414:
	sub	r3, fp, #64
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-60]
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-44]
.L3415:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	beq	.L3416
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-72]
	bl	Jim_NewIntObj
	mov	r2, r0
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	str	r3, [fp, #-56]
	b	.L3403
.L3416:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3418
	mov	r3, #0
	b	.L3419
.L3418:
	mvn	r3, #0
.L3419:
	str	r3, [fp, #-56]
	b	.L3403
.L3406:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [fp, #-60]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	JimScanAString
	mov	r2, r0
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	str	r3, [fp, #-56]
	b	.L3403
.L3407:
	sub	r3, fp, #64
	mov	r1, r3
	ldr	r0, [fp, #-60]
	bl	strtod
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	beq	.L3420
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-72]
	bl	Jim_NewDoubleObj
	mov	r2, r0
	ldr	r3, [fp, #-92]
	str	r2, [r3]
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, r2
	str	r3, [fp, #-56]
	b	.L3426
.L3420:
	ldr	r3, [fp, #-60]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3422
	mov	r3, #0
	b	.L3423
.L3422:
	mvn	r3, #0
.L3423:
	str	r3, [fp, #-56]
.L3426:
	nop
.L3403:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L3396
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3396:
	ldr	r3, [fp, #-56]
.L3391:
	ldr	r2, .L3427
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3424
	bl	__stack_chk_fail
.L3424:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3428:
	.align	2
.L3427:
	.word	.LC441
	.size	ScanOneEntry, .-ScanOneEntry
	.section	.rodata
	.align	2
.LC442:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_ScanString
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ScanString, %function
Jim_ScanString:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L3460
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-40]
	ldr	r0, [fp, #-68]
	bl	Jim_String
	str	r0, [fp, #-36]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Jim_Utf8Length
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L3430
	ldr	r3, [fp, #-76]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L3431
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3432
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3432:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L3431:
	mov	r3, #0
	b	.L3454
.L3430:
	mov	r2, #0
	ldr	r1, .L3460+4
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-64]
	bl	Jim_NewListObj
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L3434
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L3435
.L3436:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L3435:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bcc	.L3436
	sub	r3, fp, #60
	sub	r2, fp, #56
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	JimListGetElements
.L3434:
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L3437
.L3450:
	ldr	r2, [fp, #-48]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, #24
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	add	r3, r3, #4
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #16]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3458
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	ble	.L3440
	ldr	r1, [fp, #-44]
	ldr	r3, [fp, #-48]
	sub	r2, fp, #52
	str	r2, [sp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-20]
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	mov	r2, r1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-64]
	bl	ScanOneEntry
	str	r0, [fp, #-40]
.L3440:
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L3441
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L3459
.L3441:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L3443
	mov	r2, #0
	ldr	r1, .L3460+4
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-52]
.L3443:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmn	r3, #1
	bne	.L3444
	ldr	r3, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
	b	.L3439
.L3444:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L3446
	ldr	r3, [fp, #-52]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	Jim_ListAppendElement
	b	.L3439
.L3446:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L3447
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3448
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3448:
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	b	.L3439
.L3447:
	ldr	r3, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3449:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3453
	b	.L3457
.L3458:
	nop
.L3439:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L3437:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bcc	.L3450
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3451
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3451:
	ldr	r3, [fp, #-28]
	b	.L3454
.L3459:
	nop
.L3442:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3452
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3452:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
	mvn	r3, #0
	b	.L3454
.L3457:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3453:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
	mov	r3, #0
.L3454:
	ldr	r2, .L3460
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3455
	bl	__stack_chk_fail
.L3455:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3461:
	.align	2
.L3460:
	.word	.LC442
	.word	.LC86
	.size	Jim_ScanString, .-Jim_ScanString
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimPrngInit, %function
JimPrngInit:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	mov	r0, #0
	bl	time
	str	r0, [fp, #-20]
	mov	r0, #264
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-32]
	str	r2, [r3, #240]
	mov	r0, #1024
	bl	Jim_Alloc
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L3463
.L3464:
	bl	rand
	mov	r2, r0
	ldr	r3, [fp, #-20]
	eor	r4, r2, r3
	bl	clock
	mov	r3, r0
	eor	r1, r4, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	mov	r2, r1
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L3463:
	ldr	r3, [fp, #-24]
	cmp	r3, #255
	ble	.L3464
	mov	r2, #1024
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	JimPrngSeed
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	JimPrngInit, .-JimPrngInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRandomBytes, %function
JimRandomBytes:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #240]
	cmp	r3, #0
	bne	.L3466
	ldr	r0, [fp, #-32]
	bl	JimPrngInit
.L3466:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #240]
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L3467
.L3468:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #256]
	add	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	str	r2, [r3, #256]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #256]
	ldr	r2, [fp, #-16]
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #260]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-16]
	str	r2, [r3, #260]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #260]
	ldr	r2, [fp, #-16]
	ldrb	r3, [r2, r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #256]
	ldr	r2, [fp, #-8]
	and	r1, r2, #255
	ldr	r2, [fp, #-16]
	strb	r1, [r2, r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #260]
	ldr	r2, [fp, #-12]
	and	r1, r2, #255
	ldr	r2, [fp, #-16]
	strb	r1, [r2, r3]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, [fp, #-24]
	add	r1, r3, #1
	str	r1, [fp, #-24]
	ldr	r1, [fp, #-16]
	ldrb	r2, [r1, r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L3467:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	bcc	.L3468
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimRandomBytes, .-JimRandomBytes
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimPrngSeed, %function
JimPrngSeed:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #240]
	cmp	r3, #0
	bne	.L3470
	ldr	r0, [fp, #-24]
	bl	JimPrngInit
.L3470:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #240]
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3471
.L3472:
	ldr	r3, [fp, #-12]
	and	r1, r3, #255
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3471:
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	ble	.L3472
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3473
.L3474:
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	ldrb	r3, [r2, r3]
	strb	r3, [fp, #-13]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	ldrb	r1, [r2, r1]	@ zero_extendqisi2
	ldr	r2, [fp, #-8]
	strb	r1, [r2, r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-8]
	ldrb	r2, [fp, #-13]
	strb	r2, [r3, r1]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3473:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L3474
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #260]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #260]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #256]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3475
.L3476:
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimRandomBytes
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-12]
.L3475:
	ldr	r3, [fp, #-12]
	cmp	r3, #255
	ble	.L3476
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimPrngSeed, .-JimPrngSeed
	.section	.rodata
	.align	2
.LC443:
	.ascii	"varName ?increment?\000"
	.align	2
.LC444:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_IncrCoreCommand, %function
Jim_IncrCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L3490
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	beq	.L3478
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	beq	.L3478
	ldr	r3, .L3490+4
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3488
.L3478:
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	bne	.L3480
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3480
	mov	r3, #1
	b	.L3488
.L3480:
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3481
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L3482
.L3481:
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3482
	mov	r3, #1
	b	.L3488
.L3482:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3483
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L3484
.L3483:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_NewIntObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L3486
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
	mov	r3, #1
	b	.L3488
.L3484:
	ldr	r0, [fp, #-16]
	bl	Jim_InvalidateStringRep
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L3490+8
	cmp	r3, r2
	beq	.L3486
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_SetVariable
.L3486:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3487
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L3487:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L3488:
	ldr	r2, .L3490
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3489
	bl	__stack_chk_fail
.L3489:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3491:
	.align	2
.L3490:
	.word	.LC444
	.word	.LC443
	.word	variableObjType
	.size	Jim_IncrCoreCommand, .-Jim_IncrCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimUnknown, %function
JimUnknown:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #192]
	cmp	r3, #50
	ble	.L3493
	mov	r3, #1
	b	.L3494
.L3493:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #188]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetCommand
	mov	r3, r0
	cmp	r3, #0
	bne	.L3495
	mov	r3, #1
	b	.L3494
.L3495:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #192]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #192]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #188]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObjPrefix
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #192]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #192]
	ldr	r3, [fp, #-8]
.L3494:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimUnknown, .-JimUnknown
	.section	.rodata
	.align	2
.LC445:
	.ascii	"Infinite eval recursion\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimInvokeCommand, %function
JimInvokeCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L3497
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #88]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	mov	r2, #0
	str	r2, [r3, #88]
	b	.L3498
.L3497:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetCommand
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3499
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	JimUnknown
	mov	r3, r0
	b	.L3500
.L3499:
	ldr	r0, [fp, #-16]
	bl	JimIncrCmdRefCount
.L3498:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #20]
	cmp	r2, r3
	bne	.L3501
	mvn	r2, #0
	ldr	r1, .L3507
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3502
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3502:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L3503
.L3501:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3504
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3504:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3505
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	JimCallProcedure
	str	r0, [fp, #-20]
	b	.L3506
.L3505:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #200]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	blx	r3
	str	r0, [fp, #-20]
.L3506:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #24]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #24]
.L3503:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	JimDecrCmdRefCount
	ldr	r3, [fp, #-20]
.L3500:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3508:
	.align	2
.L3507:
	.word	.LC445
	.size	JimInvokeCommand, .-JimInvokeCommand
	.align	2
	.global	Jim_EvalObjVector
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalObjVector, %function
Jim_EvalObjVector:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3510
.L3511:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3510:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L3511
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimInvokeCommand
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L3512
.L3514:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3513
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3513:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3512:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L3514
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_EvalObjVector, .-Jim_EvalObjVector
	.align	2
	.global	Jim_EvalObjPrefix
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalObjPrefix, %function
Jim_EvalObjPrefix:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r0, r3, #4
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r1, [fp, #-28]
	bl	memcpy
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObjVector
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	Jim_Free
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_EvalObjPrefix, .-Jim_EvalObjPrefix
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAddErrorToStack, %function
JimAddErrorToStack:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #196]
	cmp	r3, #0
	bne	.L3519
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #196]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3520
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L3520:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r0, [fp, #-8]
	bl	JimResetStackTrace
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
.L3519:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	ble	.L3524
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #184]
	mov	r0, r3
	bl	Jim_String
	mov	r1, r0
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #24]
	ldr	r0, [fp, #-8]
	bl	JimAppendStackTrace
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	beq	.L3522
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
.L3522:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #184]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3523
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #184]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_FreeObj
.L3523:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #184]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #184]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
.L3524:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAddErrorToStack, .-JimAddErrorToStack
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSubstOneToken, %function
JimSubstOneToken:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L3526
.L3528:
	.word	.L3532
	.word	.L3532
	.word	.L3531
	.word	.L3530
	.word	.L3529
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3526
	.word	.L3527
.L3532:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L3533
.L3531:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	b	.L3533
.L3530:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimExpandDictSugar
	str	r0, [fp, #-8]
	b	.L3533
.L3527:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimExpandExprSugar
	str	r0, [fp, #-8]
	b	.L3533
.L3529:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObj
	mov	r3, r0
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L3534
.L3536:
	.word	.L3538
	.word	.L3534
	.word	.L3538
	.word	.L3537
	.word	.L3535
.L3538:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	nop
	b	.L3533
.L3537:
	mov	r3, #3
	b	.L3540
.L3535:
	mov	r3, #4
	b	.L3540
.L3534:
	mov	r3, #1
	b	.L3540
.L3526:
	mov	r3, #0
	str	r3, [fp, #-8]
	nop
.L3533:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3541
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	b	.L3540
.L3541:
	mov	r3, #1
.L3540:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimSubstOneToken, .-JimSubstOneToken
	.section	.rodata
	.align	2
.LC446:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimInterpolateTokens, %function
JimInterpolateTokens:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L3569
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-72]
	cmp	r3, #8
	bgt	.L3543
	sub	r3, fp, #40
	str	r3, [fp, #-52]
	b	.L3544
.L3543:
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-52]
.L3544:
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L3545
.L3557:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-68]
	add	r1, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r0, [fp, #-64]
	bl	JimSubstOneToken
	mov	r3, r0
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L3553
.L3548:
	.word	.L3568
	.word	.L3553
	.word	.L3568
	.word	.L3549
	.word	.L3547
.L3549:
	ldr	r3, [fp, #-76]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L3547
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-72]
	b	.L3552
.L3547:
	ldr	r3, [fp, #-76]
	and	r3, r3, #128
	cmp	r3, #0
	beq	.L3553
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	b	.L3552
.L3554:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3553
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3553:
	ldr	r3, [fp, #-56]
	sub	r2, r3, #1
	str	r2, [fp, #-56]
	cmp	r3, #0
	bne	.L3554
	sub	r3, fp, #40
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L3555
	ldr	r0, [fp, #-52]
	bl	Jim_Free
.L3555:
	mov	r3, #0
	b	.L3566
.L3568:
	nop
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-60]
.L3552:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L3545:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L3557
	ldr	r3, [fp, #-72]
	cmp	r3, #1
	bne	.L3558
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3558
	sub	r3, fp, #40
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	bne	.L3558
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3559
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3559:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	b	.L3566
.L3558:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObjNoAlloc
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-72]
	cmp	r3, #4
	bne	.L3560
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L3560
	ldr	r3, [fp, #-68]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L3560
	ldr	r3, [fp, #-68]
	add	r3, r3, #16
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bne	.L3560
	ldr	r3, [fp, #-44]
	ldr	r2, .L3569+4
	str	r2, [r3, #4]
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-52]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-52]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	b	.L3561
.L3560:
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L3561
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3561
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L3569+8
	cmp	r3, r2
	bne	.L3561
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-64]
	bl	JimSetSourceInfo
.L3561:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	mov	r2, r0
	ldr	r3, [fp, #-44]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-60]
	str	r2, [r3, #12]
	mov	r3, #0
	str	r3, [fp, #-56]
	b	.L3562
.L3564:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L3563
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	memcpy
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3563
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L3563:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L3562:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L3564
	ldr	r3, [fp, #-44]
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #40
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L3565
	ldr	r0, [fp, #-52]
	bl	Jim_Free
.L3565:
	ldr	r3, [fp, #-44]
.L3566:
	ldr	r2, .L3569
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3567
	bl	__stack_chk_fail
.L3567:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3570:
	.align	2
.L3569:
	.word	.LC446
	.word	interpolatedObjType
	.word	sourceObjType
	.size	JimInterpolateTokens, .-JimInterpolateTokens
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimEvalObjList, %function
JimEvalObjList:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L3572
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #16]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	JimInvokeCommand
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3572
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3572:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimEvalObjList, .-JimEvalObjList
	.align	2
	.global	Jim_EvalObjList
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalObjList, %function
Jim_EvalObjList:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetListFromAny
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimEvalObjList
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_EvalObjList, .-Jim_EvalObjList
	.section	.rodata
	.align	2
.LC447:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_EvalObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalObj, %function
Jim_EvalObj:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	ldr	r3, .L3626
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-104]
	mov	r3, #0
	str	r3, [fp, #-100]
	ldr	r0, [fp, #-116]
	bl	Jim_IsList
	mov	r3, r0
	cmp	r3, #0
	beq	.L3577
	ldr	r3, [fp, #-116]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3577
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	JimEvalObjList
	mov	r3, r0
	b	.L3622
.L3577:
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	JimGetScript
	str	r0, [fp, #-72]
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-112]
	bl	JimScriptValid
	mov	r3, r0
	cmp	r3, #0
	bne	.L3579
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3580
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3580:
	mov	r3, #1
	b	.L3622
.L3579:
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3581
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3581:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-68]
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L3582
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3583
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3583:
	mov	r3, #0
	b	.L3622
.L3582:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	cmp	r3, #3
	bne	.L3584
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L3626+4
	cmp	r3, r2
	bne	.L3584
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L3584
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	ldr	r3, [r3, #12]
	ldr	r2, .L3626+8
	cmp	r3, r2
	bne	.L3584
	ldr	r3, [fp, #-64]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L3626+12
	cmp	r3, r2
	bne	.L3584
	ldr	r3, [fp, #-64]
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_GetVariable
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L3584
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bgt	.L3584
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #4]
	ldr	r2, .L3626+16
	cmp	r3, r2
	bne	.L3584
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-60]
	str	r2, [r3, #16]
	ldr	r0, [fp, #-60]
	bl	Jim_InvalidateStringRep
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3585
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3585:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3586
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3586:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	mov	r3, #0
	b	.L3622
.L3584:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-72]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #116]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-116]
	str	r2, [r3, #116]
	ldr	r3, [fp, #-112]
	mov	r2, #0
	str	r2, [r3, #196]
	sub	r3, fp, #40
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L3587
.L3616:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-72]
	str	r2, [r3, #24]
	ldr	r3, [fp, #-96]
	cmp	r3, #8
	ble	.L3588
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-100]
.L3588:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L3589
.L3611:
	mov	r3, #1
	str	r3, [fp, #-88]
	mov	r3, #0
	str	r3, [fp, #-84]
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #10
	bne	.L3590
	ldr	r3, [fp, #-108]
	add	r2, r3, #1
	str	r2, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bge	.L3590
	mov	r3, #1
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-88]
	rsb	r3, r3, #0
	str	r3, [fp, #-88]
.L3590:
	ldr	r3, [fp, #-88]
	cmp	r3, #1
	bne	.L3591
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	sub	r3, r3, #1
	cmp	r3, #15
	ldrls	pc, [pc, r3, asl #2]
	b	.L3600
.L3594:
	.word	.L3598
	.word	.L3598
	.word	.L3597
	.word	.L3596
	.word	.L3595
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3600
	.word	.L3593
.L3598:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	b	.L3600
.L3597:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_GetVariable
	str	r0, [fp, #-80]
	b	.L3600
.L3593:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	JimExpandExprSugar
	str	r0, [fp, #-80]
	b	.L3600
.L3596:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	JimExpandDictSugar
	str	r0, [fp, #-80]
	b	.L3600
.L3595:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_EvalObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L3624
	ldr	r3, [fp, #-112]
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	b	.L3624
.L3591:
	ldr	r3, [fp, #-108]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-64]
	add	r1, r2, r3
	mov	r3, #0
	ldr	r2, [fp, #-88]
	ldr	r0, [fp, #-112]
	bl	JimInterpolateTokens
	str	r0, [fp, #-80]
	b	.L3600
.L3624:
	nop
.L3600:
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L3601
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L3625
	mov	r3, #1
	str	r3, [fp, #-104]
	b	.L3625
.L3601:
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-108]
	ldr	r3, [fp, #-88]
	add	r3, r2, r3
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L3604
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	b	.L3605
.L3604:
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-112]
	bl	Jim_ListLength
	str	r0, [fp, #-48]
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-48]
	add	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	ble	.L3606
	sub	r3, fp, #40
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	bne	.L3607
	ldr	r3, [fp, #-44]
	cmp	r3, #8
	ble	.L3606
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-92]
	lsl	r2, r3, #2
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-100]
	bl	memcpy
	b	.L3606
.L3607:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-100]
	bl	Jim_Realloc
	str	r0, [fp, #-100]
.L3606:
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L3608
.L3609:
	ldr	r3, [fp, #-80]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	add	r1, r3, #1
	str	r1, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-100]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-80]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-76]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L3608:
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	blt	.L3609
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3610
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3610:
	ldr	r3, [fp, #-92]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	str	r3, [fp, #-96]
.L3605:
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L3589:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L3611
	b	.L3603
.L3625:
	nop
.L3603:
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L3613
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L3613
	ldr	r2, [fp, #-100]
	ldr	r1, [fp, #-96]
	ldr	r0, [fp, #-112]
	bl	JimInvokeCommand
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L3613
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L3613
	mov	r3, #5
	str	r3, [fp, #-104]
	b	.L3613
.L3614:
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3613
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3613:
	ldr	r3, [fp, #-92]
	sub	r2, r3, #1
	str	r2, [fp, #-92]
	cmp	r3, #0
	bgt	.L3614
	sub	r3, fp, #40
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	beq	.L3587
	ldr	r0, [fp, #-100]
	bl	Jim_Free
	sub	r3, fp, #40
	str	r3, [fp, #-100]
.L3587:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-108]
	cmp	r2, r3
	bge	.L3615
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L3616
.L3615:
	ldr	r3, [fp, #-104]
	cmp	r3, #1
	bne	.L3617
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-112]
	bl	JimAddErrorToStack
	b	.L3618
.L3617:
	ldr	r3, [fp, #-104]
	cmp	r3, #2
	bne	.L3619
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #28]
	cmp	r3, #1
	beq	.L3618
.L3619:
	ldr	r3, [fp, #-112]
	mov	r2, #0
	str	r2, [r3, #12]
.L3618:
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-52]
	str	r2, [r3, #116]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3620
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3620
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	blx	r3
.L3620:
	ldr	r3, [fp, #-116]
	ldr	r2, .L3626+20
	str	r2, [r3, #4]
	ldr	r3, [fp, #-116]
	ldr	r2, [fp, #-72]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3621
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-112]
	bl	Jim_FreeObj
.L3621:
	ldr	r3, [fp, #-104]
.L3622:
	ldr	r2, .L3626
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3623
	bl	__stack_chk_fail
.L3623:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3627:
	.align	2
.L3626:
	.word	.LC447
	.word	commandObjType
	.word	Jim_IncrCoreCommand
	.word	variableObjType
	.word	intObjType
	.word	scriptObjType
	.size	Jim_EvalObj, .-Jim_EvalObj
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetProcArg, %function
JimSetProcArg:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	Jim_String
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	bne	.L3629
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
	mov	r2, #1
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3630
	mov	r3, #1
	b	.L3631
.L3630:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #44]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariableLink
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3632
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
	b	.L3632
.L3629:
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
	str	r0, [fp, #-20]
.L3632:
	ldr	r3, [fp, #-20]
.L3631:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimSetProcArg, .-JimSetProcArg
	.section	.rodata
	.align	2
.LC448:
	.ascii	" \000"
	.align	2
.LC449:
	.ascii	" ...?\000"
	.align	2
.LC450:
	.ascii	"?arg...?\000"
	.align	2
.LC451:
	.ascii	"wrong # args: should be \"%#s%#s\"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetProcWrongArgs, %function
JimSetProcWrongArgs:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r2, #0
	ldr	r1, .L3641
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L3634
.L3640:
	mov	r3, #1
	ldr	r2, .L3641+4
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L3635
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3636
	mov	r3, #1
	ldr	r2, .L3641+8
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendObj
	mvn	r3, #0
	ldr	r2, .L3641+12
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	b	.L3637
.L3636:
	mvn	r3, #0
	ldr	r2, .L3641+16
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	b	.L3637
.L3635:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3638
	mov	r3, #1
	ldr	r2, .L3641+8
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendObj
	mov	r3, #1
	ldr	r2, .L3641+8
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
	b	.L3637
.L3638:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #38
	bne	.L3639
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3639:
	mvn	r3, #0
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
.L3637:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L3634:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L3640
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-28]
	ldr	r1, .L3641+20
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3642:
	.align	2
.L3641:
	.word	.LC86
	.word	.LC448
	.word	.LC375
	.word	.LC449
	.word	.LC450
	.word	.LC451
	.size	JimSetProcWrongArgs, .-JimSetProcWrongArgs
	.section	.rodata
	.align	2
.LC452:
	.ascii	"Too many nested calls. Infinite recursion?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCallProcedure, %function
JimCallProcedure:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #28]
	ldr	r2, [fp, #-64]
	cmp	r2, r3
	ble	.L3644
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #36]
	cmp	r3, #0
	bge	.L3645
	ldr	r3, [fp, #-64]
	sub	r2, r3, #1
	ldr	r3, [fp, #-60]
	ldr	r1, [r3, #28]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #32]
	add	r3, r1, r3
	cmp	r2, r3
	ble	.L3645
.L3644:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	ldr	r2, [fp, #-60]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	JimSetProcWrongArgs
	mov	r3, #1
	b	.L3646
.L3645:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	bne	.L3647
	mov	r3, #0
	b	.L3646
.L3647:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #16]
	cmp	r2, r3
	bne	.L3648
	mvn	r2, #0
	ldr	r1, .L3670
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3649
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3649:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L3646
.L3648:
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #56]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #48]
	mov	r2, r3
	ldr	r0, [fp, #-56]
	bl	JimCreateCallFrame
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-68]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-64]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #116]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	JimGetScript
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #72]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3, #24]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #76]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #12]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-24]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-64]
	sub	r2, r3, #1
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #28]
	sub	r3, r2, r3
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L3650
.L3660:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #36]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bne	.L3651
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #32]
	add	r2, r2, r3
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	cmp	r2, r3
	bge	.L3652
	ldr	r3, [fp, #-64]
	sub	r2, r3, #1
	ldr	r3, [fp, #-60]
	ldr	r1, [r3, #28]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #32]
	add	r3, r1, r3
	sub	r3, r2, r3
	str	r3, [fp, #-28]
.L3652:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewListObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3653
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L3653:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-56]
	bl	Jim_SetVariable
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L3668
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	b	.L3656
.L3651:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3657
	ldr	r3, [fp, #-36]
	sub	r2, r3, #1
	str	r2, [fp, #-36]
	cmp	r3, #0
	ble	.L3658
.L3657:
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	str	r2, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-56]
	bl	JimSetProcArg
	str	r0, [fp, #-40]
	b	.L3659
.L3658:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-56]
	bl	Jim_SetVariable
	str	r0, [fp, #-40]
.L3659:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L3669
.L3656:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L3650:
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #24]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L3660
	ldr	r3, [fp, #-60]
	ldr	r3, [r3, #16]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObj
	str	r0, [fp, #-40]
	b	.L3655
.L3668:
	nop
	b	.L3655
.L3669:
	nop
.L3655:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #56]
	mov	r2, #1
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-56]
	bl	JimFreeCallFrame
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	beq	.L3661
.L3664:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #84]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	mov	r2, #0
	str	r2, [r3, #84]
	ldr	r3, [fp, #-40]
	cmp	r3, #7
	bne	.L3662
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObjList
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L3662
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
.L3662:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3663
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3663:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #84]
	cmp	r3, #0
	bne	.L3664
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #88]
	cmp	r3, #0
	beq	.L3661
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #88]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	JimDecrCmdRefCount
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	mov	r2, #0
	str	r2, [r3, #88]
.L3661:
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L3665
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bgt	.L3666
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #32]
	b	.L3666
.L3665:
	ldr	r3, [fp, #-40]
	cmp	r3, #1
	bne	.L3666
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #184]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3667
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #184]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3667:
	ldr	r3, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	str	r2, [r3, #184]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #184]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
.L3666:
	ldr	r3, [fp, #-40]
.L3646:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3671:
	.align	2
.L3670:
	.word	.LC452
	.size	JimCallProcedure, .-JimCallProcedure
	.align	2
	.global	Jim_EvalSource
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalSource, %function
Jim_EvalSource:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mvn	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L3673
	mvn	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	JimSetSourceInfo
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #116]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #116]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #116]
	b	.L3674
.L3673:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObj
	str	r0, [fp, #-16]
.L3674:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3675
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3675:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_EvalSource, .-Jim_EvalSource
	.align	2
	.global	Jim_Eval
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_Eval, %function
Jim_Eval:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mvn	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_EvalObj
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_Eval, .-Jim_Eval
	.align	2
	.global	Jim_EvalGlobal
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalGlobal, %function
Jim_EvalGlobal:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_Eval
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_EvalGlobal, .-Jim_EvalGlobal
	.align	2
	.global	Jim_EvalFileGlobal
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalFileGlobal, %function
Jim_EvalFileGlobal:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_EvalFile
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_EvalFileGlobal, .-Jim_EvalFileGlobal
	.section	.rodata
	.align	2
.LC453:
	.ascii	"rt\000"
	.align	2
.LC454:
	.ascii	"failed to load file \"%s\": %s\000"
	.align	2
.LC455:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_EvalFile
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalFile, %function
Jim_EvalFile:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	ldr	r3, .L3694
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-132]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L3684
	ldr	r1, .L3694+4
	ldr	r0, [fp, #-132]
	bl	fopen
	str	r0, [fp, #-120]
	ldr	r3, [fp, #-120]
	cmp	r3, #0
	bne	.L3685
.L3684:
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-132]
	ldr	r1, .L3694+8
	ldr	r0, [fp, #-128]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L3692
.L3685:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L3687
	ldr	r0, [fp, #-120]
	bl	fclose
	mov	r3, #0
	b	.L3692
.L3687:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-56]
	mov	r2, r3
	ldr	r3, [fp, #-120]
	mov	r1, #1
	ldr	r0, [fp, #-116]
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-112]
	ldr	r0, [fp, #-120]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L3688
	ldr	r0, [fp, #-120]
	bl	fclose
	ldr	r0, [fp, #-116]
	bl	Jim_Free
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	ldr	r2, [fp, #-132]
	ldr	r1, .L3694+12
	ldr	r0, [fp, #-128]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L3692
.L3688:
	ldr	r0, [fp, #-120]
	bl	fclose
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-116]
	ldr	r0, [fp, #-128]
	bl	Jim_NewStringObjNoAlloc
	str	r0, [fp, #-108]
	mvn	r2, #0
	ldr	r1, [fp, #-132]
	ldr	r0, [fp, #-128]
	bl	Jim_NewStringObj
	mov	r2, r0
	mov	r3, #1
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-128]
	bl	JimSetSourceInfo
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-108]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #116]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-108]
	str	r2, [r3, #116]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-128]
	bl	Jim_EvalObj
	str	r0, [fp, #-124]
	ldr	r3, [fp, #-124]
	cmp	r3, #2
	bne	.L3689
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-128]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bgt	.L3689
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #28]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-128]
	mov	r2, #0
	str	r2, [r3, #28]
	ldr	r3, [fp, #-128]
	mov	r2, #0
	str	r2, [r3, #32]
.L3689:
	ldr	r3, [fp, #-124]
	cmp	r3, #1
	bne	.L3690
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-128]
	str	r2, [r3, #12]
.L3690:
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-104]
	str	r2, [r3, #116]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-108]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3691
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-128]
	bl	Jim_FreeObj
.L3691:
	ldr	r3, [fp, #-124]
.L3692:
	ldr	r2, .L3694
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3693
	bl	__stack_chk_fail
.L3693:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3695:
	.align	2
.L3694:
	.word	.LC455
	.word	.LC453
	.word	.LC189
	.word	.LC454
	.size	Jim_EvalFile, .-Jim_EvalFile
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimParseSubst, %function
JimParseSubst:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L3697
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #7
	str	r2, [r3, #24]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #28]
	b	.L3696
.L3697:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L3699
	ldr	r3, [fp, #-12]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L3699
	ldr	r0, [fp, #-8]
	bl	JimParseCmd
	b	.L3696
.L3699:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L3702
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L3702
	ldr	r0, [fp, #-8]
	bl	JimParseVar
	mov	r3, r0
	cmp	r3, #0
	beq	.L3710
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-12]
	orr	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L3702
.L3707:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L3703
	ldr	r3, [fp, #-12]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L3711
.L3703:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #91
	bne	.L3705
	ldr	r3, [fp, #-12]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L3712
.L3705:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L3706
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #1
	ble	.L3706
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L3706:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L3702:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L3707
	b	.L3704
.L3711:
	nop
	b	.L3704
.L3712:
	nop
.L3704:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-12]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L3708
	mov	r2, #1
	b	.L3709
.L3708:
	mov	r2, #2
.L3709:
	ldr	r3, [fp, #-8]
	str	r2, [r3, #24]
	b	.L3696
.L3710:
	nop
.L3696:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimParseSubst, .-JimParseSubst
	.section	.rodata
	.align	2
.LC456:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SetSubstFromAny, %function
SetSubstFromAny:
	@ args = 0, pretend = 0, frame = 416
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #424
	str	r0, [fp, #-408]
	str	r1, [fp, #-412]
	str	r2, [fp, #-416]
	ldr	r3, .L3722
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #400
	mov	r1, r3
	ldr	r0, [fp, #-412]
	bl	Jim_GetString
	str	r0, [fp, #-396]
	mov	r0, #32
	bl	Jim_Alloc
	str	r0, [fp, #-392]
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListInit
	ldr	r2, [fp, #-400]
	sub	r0, fp, #388
	mov	r3, #1
	ldr	r1, [fp, #-396]
	bl	JimParserInit
.L3716:
	sub	r3, fp, #388
	ldr	r1, [fp, #-416]
	mov	r0, r3
	bl	JimParseSubst
	ldr	r3, [fp, #-360]
	cmp	r3, #0
	bne	.L3721
	ldr	r1, [fp, #-376]
	ldr	r2, [fp, #-372]
	ldr	r3, [fp, #-376]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	ip, [fp, #-364]
	ldr	r3, [fp, #-368]
	sub	r0, fp, #340
	str	r3, [sp]
	mov	r3, ip
	bl	ScriptAddToken
	b	.L3716
.L3721:
	nop
	ldr	r3, [fp, #-392]
	mov	r2, #1
	str	r2, [r3, #16]
	ldr	r3, [fp, #-392]
	ldr	r2, [fp, #-416]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-408]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-392]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-392]
	ldr	r3, [r3, #4]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	sub	r3, fp, #340
	mov	r2, r3
	ldr	r1, [fp, #-392]
	ldr	r0, [fp, #-408]
	bl	SubstObjAddTokens
	sub	r3, fp, #340
	mov	r0, r3
	bl	ScriptTokenListFree
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3717
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3717
	ldr	r3, [fp, #-412]
	ldr	r3, [r3, #4]
	ldr	r3, [r3, #4]
	ldr	r1, [fp, #-412]
	ldr	r0, [fp, #-408]
	blx	r3
.L3717:
	ldr	r3, [fp, #-412]
	ldr	r2, [fp, #-392]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-412]
	ldr	r2, .L3722+4
	str	r2, [r3, #4]
	mov	r3, #0
	ldr	r2, .L3722
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3719
	bl	__stack_chk_fail
.L3719:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3723:
	.align	2
.L3722:
	.word	.LC456
	.word	scriptObjType
	.size	SetSubstFromAny, .-SetSubstFromAny
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetSubst, %function
Jim_GetSubst:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	ldr	r2, .L3728
	cmp	r3, r2
	bne	.L3725
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L3726
.L3725:
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetSubstFromAny
.L3726:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3729:
	.align	2
.L3728:
	.word	scriptObjType
	.size	Jim_GetSubst, .-Jim_GetSubst
	.align	2
	.global	Jim_SubstObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SubstObj, %function
Jim_SubstObj:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_GetSubst
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	JimInterpolateTokens
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #16]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3731
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3731:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3732
	mov	r3, #1
	b	.L3733
.L3732:
	mov	r3, #0
.L3733:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SubstObj, .-Jim_SubstObj
	.section	.rodata
	.align	2
.LC457:
	.ascii	"wrong # args: should be \"%#s\"\000"
	.text
	.align	2
	.global	Jim_WrongNumArgs
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_WrongNumArgs, %function
Jim_WrongNumArgs:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	Jim_NewListObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L3735
	mvn	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
.L3735:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	mov	r3, #1
	ldr	r2, .L3739
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_ListJoin
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3736
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3736:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-8]
	ldr	r1, .L3739+4
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3738
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3738:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3740:
	.align	2
.L3739:
	.word	.LC448
	.word	.LC457
	.size	Jim_WrongNumArgs, .-Jim_WrongNumArgs
	.section	.rodata
	.align	2
.LC458:
	.ascii	"*[?\\\000"
	.align	2
.LC459:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimHashtablePatternMatch, %function
JimHashtablePatternMatch:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, .L3750
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	Jim_NewListObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L3742
	ldr	r0, [fp, #-56]
	bl	Jim_String
	mov	r3, r0
	ldr	r1, .L3750+4
	mov	r0, r3
	bl	strpbrk
	mov	r3, r0
	cmp	r3, #0
	bne	.L3742
	ldr	r0, [fp, #-56]
	bl	Jim_String
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	Jim_FindHashEntry
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L3744
	ldr	r4, [fp, #-60]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-48]
	blx	r4
	b	.L3744
.L3742:
	sub	r3, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	JimInitHashTableIterator
	b	.L3745
.L3747:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L3746
	ldr	r0, [fp, #-56]
	bl	Jim_String
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	bl	JimGlobMatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L3745
.L3746:
	ldr	r4, [fp, #-60]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-48]
	blx	r4
.L3745:
	sub	r3, fp, #32
	mov	r0, r3
	bl	Jim_NextHashEntry
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L3747
.L3744:
	ldr	r3, [fp, #-40]
	ldr	r2, .L3750
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3749
	bl	__stack_chk_fail
.L3749:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L3751:
	.align	2
.L3750:
	.word	.LC459
	.word	.LC458
	.size	JimHashtablePatternMatch, .-JimHashtablePatternMatch
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCommandMatch, %function
JimCommandMatch:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L3753
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L3757
.L3753:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L3755
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_AioFilehandle
	mov	r3, r0
	cmp	r3, #0
	beq	.L3756
.L3755:
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
.L3756:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3752
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
	b	.L3752
.L3757:
	nop
.L3752:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimCommandMatch, .-JimCommandMatch
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimCommandsList, %function
JimCommandsList:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r1, r3, #64
	ldr	r3, [fp, #-16]
	str	r3, [sp]
	ldr	r3, .L3760
	ldr	r2, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimHashtablePatternMatch
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3761:
	.align	2
.L3760:
	.word	JimCommandMatch
	.size	JimCommandsList, .-JimCommandsList
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimVariablesMatch, %function
JimVariablesMatch:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bne	.L3763
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L3765
.L3763:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-28]
	and	r3, r3, #4096
	cmp	r3, #0
	beq	.L3765
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
.L3765:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimVariablesMatch, .-JimVariablesMatch
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimVariablesList, %function
JimVariablesList:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L3767
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #56]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	cmp	r2, r3
	bne	.L3767
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #124]
	b	.L3768
.L3767:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L3769
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	b	.L3770
.L3769:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
.L3770:
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r1, r3, #8
	ldr	r3, [fp, #-24]
	str	r3, [sp]
	ldr	r3, .L3771
	ldr	r2, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimHashtablePatternMatch
	mov	r3, r0
.L3768:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3772:
	.align	2
.L3771:
	.word	JimVariablesMatch
	.size	JimVariablesList, .-JimVariablesList
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimInfoLevel, %function
JimInfoLevel:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	JimGetCallFrameByInteger
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L3774
	mov	r3, #1
	b	.L3775
.L3774:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L3776
	ldr	r2, [fp, #-20]
	ldr	r1, .L3779
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L3775
.L3776:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L3777
	ldr	r3, [fp, #-12]
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #52]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewListObj
	mov	r2, r0
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	b	.L3778
.L3777:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	Jim_NewListObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #72]
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #76]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L3778:
	mov	r3, #0
.L3775:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3780:
	.align	2
.L3779:
	.word	.LC326
	.size	JimInfoLevel, .-JimInfoLevel
	.section	.rodata
	.align	2
.LC460:
	.ascii	"?-nonewline? string\000"
	.align	2
.LC461:
	.ascii	"The second argument must be -nonewline\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_PutsCoreCommand, %function
Jim_PutsCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L3782
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L3782
	ldr	r3, .L3788
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3783
.L3782:
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L3784
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, .L3788+4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	bne	.L3785
	mvn	r2, #0
	ldr	r1, .L3788+8
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3786
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L3786:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L3783
.L3785:
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r2, r0
	ldr	r3, .L3788+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	fputs
	b	.L3787
.L3784:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r0, r3
	bl	puts
.L3787:
	mov	r3, #0
.L3783:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3789:
	.align	2
.L3788:
	.word	.LC460
	.word	.LC24
	.word	.LC461
	.word	stdout
	.size	Jim_PutsCoreCommand, .-Jim_PutsCoreCommand
	.section	.rodata
	.align	2
.LC462:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAddMulHelper, %function
JimAddMulHelper:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L3809
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-68]
	cmp	r3, #24
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-44]
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L3791
.L3796:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #48
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L3808
	ldr	r3, [fp, #-68]
	cmp	r3, #24
	bne	.L3794
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	str	r3, [fp, #-44]
	b	.L3795
.L3794:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	mul	r3, r2, r3
	str	r3, [fp, #-44]
.L3795:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L3791:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L3796
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3797
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3797:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	mov	r3, #0
	b	.L3805
.L3808:
	nop
.L3793:
	ldr	r0, [fp, #-44]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L3799
.L3803:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L3800
	mov	r3, #1
	b	.L3805
.L3800:
	ldr	r3, [fp, #-68]
	cmp	r3, #24
	bne	.L3801
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L3802
.L3801:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
.L3802:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L3799:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L3803
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-56]
	bl	Jim_NewDoubleObj
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3804
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3804:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	mov	r3, #0
.L3805:
	ldr	r2, .L3809
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3806
	bl	__stack_chk_fail
.L3806:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3810:
	.align	2
.L3809:
	.word	.LC462
	.size	JimAddMulHelper, .-JimAddMulHelper
	.section	.rodata
	.align	2
.LC463:
	.ascii	"number ?number ... number?\000"
	.align	2
.LC464:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSubDivHelper, %function
JimSubDivHelper:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, .L3842
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, #2
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-76]
	cmp	r3, #1
	bgt	.L3812
	ldr	r3, .L3842+4
	ldr	r2, [fp, #-80]
	mov	r1, #1
	ldr	r0, [fp, #-72]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3839
.L3812:
	ldr	r3, [fp, #-76]
	cmp	r3, #2
	bne	.L3814
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #68
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3815
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L3816
	mov	r3, #1
	b	.L3839
.L3816:
	ldr	r3, [fp, #-84]
	cmp	r3, #23
	bne	.L3817
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r4, r2
	eor	r5, r3, #-2147483648
	str	r4, [fp, #-28]
	str	r5, [fp, #-24]
	b	.L3818
.L3817:
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L3842+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L3818:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-72]
	bl	Jim_NewDoubleObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3819
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3819:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	mov	r3, #0
	b	.L3839
.L3815:
	ldr	r3, [fp, #-84]
	cmp	r3, #23
	bne	.L3820
	ldr	r3, [fp, #-68]
	rsb	r3, r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_NewIntObj
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3821
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3821:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	b	.L3822
.L3820:
	ldr	r3, [fp, #-68]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L3842+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-72]
	bl	Jim_NewDoubleObj
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3823
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3823:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
.L3822:
	mov	r3, #0
	b	.L3839
.L3814:
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #64
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3824
	ldr	r3, [fp, #-80]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L3841
	mov	r3, #1
	b	.L3839
.L3824:
	mov	r3, #2
	str	r3, [fp, #-60]
	b	.L3827
.L3831:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #68
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3828
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L3826
.L3828:
	ldr	r3, [fp, #-84]
	cmp	r3, #23
	bne	.L3829
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-68]
	sub	r3, r2, r3
	str	r3, [fp, #-64]
	b	.L3830
.L3829:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-68]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-64]
.L3830:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L3827:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	blt	.L3831
	ldr	r3, [fp, #-64]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_NewIntObj
	str	r0, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3832
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3832:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	mov	r3, #0
	b	.L3839
.L3841:
	nop
.L3826:
	b	.L3833
.L3837:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	beq	.L3834
	mov	r3, #1
	b	.L3839
.L3834:
	ldr	r3, [fp, #-84]
	cmp	r3, #23
	bne	.L3835
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L3836
.L3835:
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L3836:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L3833:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	blt	.L3837
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-72]
	bl	Jim_NewDoubleObj
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3838
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3838:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-52]
	str	r2, [r3]
	mov	r3, #0
.L3839:
	ldr	r2, .L3842
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3840
	bl	__stack_chk_fail
.L3840:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L3843:
	.align	2
.L3842:
	.word	.LC464
	.word	.LC463
	.word	1072693248
	.size	JimSubDivHelper, .-JimSubDivHelper
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AddCoreCommand, %function
Jim_AddCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #24
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimAddMulHelper
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_AddCoreCommand, .-Jim_AddCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_MulCoreCommand, %function
Jim_MulCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #20
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimAddMulHelper
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_MulCoreCommand, .-Jim_MulCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SubCoreCommand, %function
Jim_SubCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #23
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimSubDivHelper
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SubCoreCommand, .-Jim_SubCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DivCoreCommand, %function
Jim_DivCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #21
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimSubDivHelper
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_DivCoreCommand, .-Jim_DivCoreCommand
	.section	.rodata
	.align	2
.LC465:
	.ascii	"varName ?newValue?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetCoreCommand, %function
Jim_SetCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	beq	.L3853
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	beq	.L3853
	ldr	r3, .L3860
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3854
.L3853:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L3855
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L3856
	mov	r3, #1
	b	.L3854
.L3856:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3857
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3857:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	b	.L3854
.L3855:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L3858
	mov	r3, #1
	b	.L3854
.L3858:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3859
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3859:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L3854:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3861:
	.align	2
.L3860:
	.word	.LC465
	.size	Jim_SetCoreCommand, .-Jim_SetCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_UnsetCoreCommand, %function
Jim_UnsetCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-12]
	mov	r3, #1
	str	r3, [fp, #-8]
	b	.L3863
.L3867:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L3873
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L3864
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L3865
.L3864:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L3873+4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L3872
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	nop
.L3863:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L3867
	b	.L3868
.L3872:
	nop
.L3865:
	b	.L3868
.L3871:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_UnsetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L3869
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3869
	mov	r3, #1
	b	.L3870
.L3869:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L3868:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L3871
	mov	r3, #0
.L3870:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3874:
	.align	2
.L3873:
	.word	.LC117
	.word	.LC76
	.size	Jim_UnsetCoreCommand, .-Jim_UnsetCoreCommand
	.section	.rodata
	.align	2
.LC466:
	.ascii	"condition body\000"
	.align	2
.LC467:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_WhileCoreCommand, %function
Jim_WhileCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L3892
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	beq	.L3876
	ldr	r3, .L3892+4
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3877
.L3876:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetBoolFromExpr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3878
	ldr	r3, [fp, #-16]
	b	.L3877
.L3878:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L3889
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3876
	ldr	r3, [fp, #-16]
	cmp	r3, #3
	beq	.L3890
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	beq	.L3891
	ldr	r3, [fp, #-16]
	b	.L3877
.L3891:
	nop
	b	.L3876
.L3889:
	nop
	b	.L3881
.L3890:
	nop
.L3881:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3887
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L3887:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L3877:
	ldr	r2, .L3892
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3888
	bl	__stack_chk_fail
.L3888:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3893:
	.align	2
.L3892:
	.word	.LC467
	.word	.LC466
	.size	Jim_WhileCoreCommand, .-Jim_WhileCoreCommand
	.section	.rodata
	.align	2
.LC468:
	.ascii	"start test next body\000"
	.align	2
.LC469:
	.ascii	"incr\000"
	.align	2
.LC470:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ForCoreCommand, %function
Jim_ForCoreCommand:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L3951
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-60]
	cmp	r3, #5
	beq	.L3895
	ldr	r3, .L3951+4
	ldr	r2, [fp, #-64]
	mov	r1, #1
	ldr	r0, [fp, #-56]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3935
.L3895:
	ldr	r3, [fp, #-64]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3897
	ldr	r3, [fp, #-40]
	b	.L3935
.L3897:
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #52
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_GetBoolFromExpr
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L3938
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L3938
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	JimGetExpression
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-64]
	add	r3, r3, #12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	JimGetScript
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L3939
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #3
	bne	.L3939
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3939
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bne	.L3939
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	cmp	r3, #2
	bne	.L3940
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bne	.L3940
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	cmp	r3, #14
	beq	.L3903
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	cmp	r3, #3
	bne	.L3940
.L3903:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r3, [r3, #4]
	cmp	r3, #29
	bne	.L3904
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L3905
.L3904:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r3, [r3, #4]
	cmp	r3, #31
	bne	.L3941
	mov	r3, #1
	str	r3, [fp, #-28]
.L3905:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, .L3951+8
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L3942
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	add	r3, r3, #16
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	Jim_StringEqObj
	mov	r3, r0
	cmp	r3, #0
	beq	.L3943
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3, #4]
	cmp	r3, #14
	bne	.L3909
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #48
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #1
	bne	.L3910
	b	.L3898
.L3909:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	add	r3, r3, #8
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	mov	r3, #0
	str	r3, [fp, #-48]
.L3910:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	mov	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-56]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3944
	sub	r3, fp, #44
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L3944
	b	.L3914
.L3925:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L3915
	mov	r2, #0
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-56]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3945
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L3945
.L3915:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	ble	.L3946
	ldr	r3, [fp, #-64]
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3919
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	bne	.L3914
.L3919:
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r2, #1
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-56]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L3920
	mov	r3, #1
	str	r3, [fp, #-40]
	b	.L3927
.L3920:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bgt	.L3922
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, .L3951+12
	cmp	r3, r2
	bne	.L3922
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-44]
	ldr	r0, [fp, #-16]
	bl	Jim_InvalidateStringRep
	b	.L3914
.L3922:
	sub	r3, fp, #44
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-56]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L3947
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-56]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	bne	.L3947
.L3914:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3925
	b	.L3927
.L3946:
	nop
	b	.L3927
.L3938:
	nop
	b	.L3928
.L3939:
	nop
	b	.L3928
.L3940:
	nop
	b	.L3928
.L3941:
	nop
	b	.L3928
.L3942:
	nop
	b	.L3928
.L3943:
	nop
.L3898:
	b	.L3928
.L3929:
	ldr	r3, [fp, #-64]
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3948
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	bne	.L3928
	b	.L3948
.L3947:
	nop
	b	.L3924
.L3948:
	nop
.L3924:
	ldr	r3, [fp, #-64]
	add	r3, r3, #12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3949
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	bne	.L3928
	b	.L3949
.L3944:
	nop
	b	.L3926
.L3945:
	nop
	b	.L3926
.L3949:
	nop
.L3926:
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #52
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_GetBoolFromExpr
	str	r0, [fp, #-40]
.L3928:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L3950
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L3929
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	beq	.L3929
.L3950:
	nop
.L3927:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L3930
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3930
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3930:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L3931
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3931
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3931:
	ldr	r3, [fp, #-40]
	cmp	r3, #4
	beq	.L3932
	ldr	r3, [fp, #-40]
	cmp	r3, #3
	beq	.L3932
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L3933
.L3932:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3934
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L3934:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L3935
.L3933:
	ldr	r3, [fp, #-40]
.L3935:
	ldr	r2, .L3951
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3936
	bl	__stack_chk_fail
.L3936:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3952:
	.align	2
.L3951:
	.word	.LC470
	.word	.LC468
	.word	.LC469
	.word	intObjType
	.size	Jim_ForCoreCommand, .-Jim_ForCoreCommand
	.section	.rodata
	.align	2
.LC471:
	.ascii	"var first limit ?incr? body\000"
	.align	2
.LC472:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LoopCoreCommand, %function
Jim_LoopCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L3974
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r3, #5
	beq	.L3954
	ldr	r3, [fp, #-44]
	cmp	r3, #6
	beq	.L3954
	ldr	r3, .L3974+4
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L3972
.L3954:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L3956
	ldr	r3, [fp, #-48]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L3956
	ldr	r3, [fp, #-44]
	cmp	r3, #6
	bne	.L3957
	ldr	r3, [fp, #-48]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L3957
.L3956:
	mov	r3, #1
	b	.L3972
.L3957:
	ldr	r3, [fp, #-44]
	cmp	r3, #5
	bne	.L3958
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #16]
	b	.L3959
.L3958:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #20]
.L3959:
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	str	r0, [fp, #-24]
	b	.L3960
.L3968:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	Jim_EvalObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3961
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	bne	.L3960
.L3961:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetVariable
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L3962
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	bgt	.L3962
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, .L3974+8
	cmp	r3, r2
	bne	.L3962
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L3974+12
	cmp	r3, r2
	beq	.L3963
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L3963
	mov	r3, #1
	b	.L3972
.L3963:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #16]
	ldr	r0, [fp, #-16]
	bl	Jim_InvalidateStringRep
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L3974+12
	cmp	r3, r2
	beq	.L3960
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L3960
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L3965
.L3962:
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3960
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L3960:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bge	.L3966
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bgt	.L3967
.L3966:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	ble	.L3965
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L3965
.L3967:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3968
.L3965:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L3969
	ldr	r3, [fp, #-24]
	cmp	r3, #4
	beq	.L3969
	ldr	r3, [fp, #-24]
	cmp	r3, #3
	bne	.L3970
.L3969:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3971
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L3971:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L3972
.L3970:
	ldr	r3, [fp, #-24]
.L3972:
	ldr	r2, .L3974
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L3973
	bl	__stack_chk_fail
.L3973:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3975:
	.align	2
.L3974:
	.word	.LC472
	.word	.LC471
	.word	intObjType
	.word	variableObjType
	.size	Jim_LoopCoreCommand, .-Jim_LoopCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimListIterInit, %function
JimListIterInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	JimListIterInit, .-JimListIterInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimListIterNext, %function
JimListIterNext:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ListLength
	mov	r3, r0
	cmp	r4, r3
	blt	.L3978
	mov	r3, #0
	b	.L3979
.L3978:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	add	r0, r3, #1
	ldr	r1, [fp, #-20]
	str	r0, [r1, #4]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
.L3979:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	JimListIterNext, .-JimListIterNext
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimListIterDone, %function
JimListIterDone:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r4, [r3, #4]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ListLength
	mov	r3, r0
	cmp	r4, r3
	movge	r3, #1
	movlt	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	JimListIterDone, .-JimListIterDone
	.section	.rodata
	.align	2
.LC473:
	.ascii	"varList list ?varList list ...? script\000"
	.align	2
.LC474:
	.ascii	"foreach varlist is empty\000"
	.align	2
.LC475:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimForeachMapHelper, %function
JimForeachMapHelper:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, .L4027
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-76]
	cmp	r3, #3
	ble	.L3983
	ldr	r3, [fp, #-76]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L3984
.L3983:
	ldr	r3, .L4027+4
	ldr	r2, [fp, #-80]
	mov	r1, #1
	ldr	r0, [fp, #-72]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4018
.L3984:
	ldr	r3, [fp, #-76]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-76]
	sub	r3, r3, #2
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	bne	.L3986
	sub	r3, fp, #24
	str	r3, [fp, #-56]
	b	.L3987
.L3986:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #3
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-56]
.L3987:
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L3988
.L3990:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r0, r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	JimListIterInit
	ldr	r3, [fp, #-60]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L3989
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	JimListIterDone
	mov	r3, r0
	cmp	r3, #0
	beq	.L3989
	mov	r3, #1
	str	r3, [fp, #-64]
.L3989:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L3988:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L3990
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L3991
	mvn	r2, #0
	ldr	r1, .L4027+8
	ldr	r0, [fp, #-72]
	bl	Jim_NewStringObj
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L3992
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L3992:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	b	.L4018
.L3991:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L3993
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-72]
	bl	Jim_NewListObj
	str	r0, [fp, #-52]
	b	.L3994
.L3993:
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-52]
.L3994:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
.L4014:
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L3995
.L3998:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	JimListIterDone
	mov	r3, r0
	cmp	r3, #0
	beq	.L4020
	ldr	r3, [fp, #-60]
	add	r3, r3, #2
	str	r3, [fp, #-60]
.L3995:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L3998
	b	.L3997
.L4020:
	nop
.L3997:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	beq	.L4021
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L4001
.L4007:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r0, r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	JimListIterInit
	b	.L4002
.L4006:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	JimListIterNext
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L4003
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-48]
.L4003:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-72]
	bl	Jim_SetVariable
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4004
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L4004:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	bne	.L4022
.L4002:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #3
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	JimListIterNext
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L4006
	ldr	r3, [fp, #-60]
	add	r3, r3, #2
	str	r3, [fp, #-60]
.L4001:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L4007
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-72]
	bl	Jim_EvalObj
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-64]
	cmp	r3, #4
	beq	.L4023
	ldr	r3, [fp, #-64]
	cmp	r3, #4
	bgt	.L4024
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L4010
	ldr	r3, [fp, #-64]
	cmp	r3, #3
	beq	.L4025
	b	.L4024
.L4010:
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L4026
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-72]
	bl	Jim_ListAppendElement
	b	.L4026
.L4023:
	nop
	b	.L4014
.L4026:
	nop
	b	.L4014
.L4021:
	nop
	b	.L4000
.L4025:
	nop
.L4000:
	mov	r3, #0
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4015
	ldr	r3, [fp, #-72]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L4015:
	ldr	r3, [fp, #-72]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	b	.L4005
.L4022:
	nop
	b	.L4005
.L4024:
	nop
.L4005:
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-52]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-52]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4016
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-72]
	bl	Jim_FreeObj
.L4016:
	ldr	r3, [fp, #-40]
	cmp	r3, #2
	ble	.L4017
	ldr	r0, [fp, #-56]
	bl	Jim_Free
.L4017:
	ldr	r3, [fp, #-64]
.L4018:
	ldr	r2, .L4027
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4019
	bl	__stack_chk_fail
.L4019:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4028:
	.align	2
.L4027:
	.word	.LC475
	.word	.LC473
	.word	.LC474
	.size	JimForeachMapHelper, .-JimForeachMapHelper
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ForeachCoreCommand, %function
Jim_ForeachCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimForeachMapHelper
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ForeachCoreCommand, .-Jim_ForeachCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LmapCoreCommand, %function
Jim_LmapCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #1
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	JimForeachMapHelper
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_LmapCoreCommand, .-Jim_LmapCoreCommand
	.section	.rodata
	.align	2
.LC476:
	.ascii	"varList list ?varName ...?\000"
	.align	2
.LC477:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LassignCoreCommand, %function
Jim_LassignCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L4046
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bgt	.L4034
	ldr	r3, .L4046+4
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4044
.L4034:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r2, [r3]
	sub	r3, fp, #16
	mov	r1, r2
	mov	r0, r3
	bl	JimListIterInit
	mov	r3, #2
	str	r3, [fp, #-36]
	b	.L4036
.L4040:
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	JimListIterNext
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L4037
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #124]
	b	.L4038
.L4037:
	ldr	r3, [fp, #-20]
.L4038:
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	Jim_SetVariable
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L4039
	ldr	r3, [fp, #-32]
	b	.L4044
.L4039:
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L4036:
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L4040
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	Jim_NewListObj
	str	r0, [fp, #-28]
	b	.L4041
.L4042:
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	JimListIterNext
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	Jim_ListAppendElement
.L4041:
	sub	r3, fp, #16
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	JimListIterDone
	mov	r3, r0
	cmp	r3, #0
	beq	.L4042
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4043
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4043:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	mov	r3, #0
.L4044:
	ldr	r2, .L4046
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4045
	bl	__stack_chk_fail
.L4045:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4047:
	.align	2
.L4046:
	.word	.LC477
	.word	.LC476
	.size	Jim_LassignCoreCommand, .-Jim_LassignCoreCommand
	.section	.rodata
	.align	2
.LC478:
	.ascii	"then\000"
	.align	2
.LC479:
	.ascii	"else\000"
	.align	2
.LC480:
	.ascii	"elseif\000"
	.align	2
.LC481:
	.ascii	"condition ?then? trueBody ?elseif ...? ?else? false"
	.ascii	"Body\000"
	.align	2
.LC482:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_IfCoreCommand, %function
Jim_IfCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L4072
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	ble	.L4066
.L4062:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L4067
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetBoolFromExpr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4051
	ldr	r3, [fp, #-16]
	b	.L4064
.L4051:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L4068
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4072+4
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4054
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L4054:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bge	.L4069
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L4056
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_EvalObj
	mov	r3, r0
	b	.L4064
.L4056:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L4057
	mov	r2, #0
	ldr	r1, .L4072+8
	ldr	r0, [fp, #-32]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4058
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4058:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L4064
.L4057:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4072+12
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4059
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L4070
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_EvalObj
	mov	r3, r0
	b	.L4064
.L4059:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4072+16
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4061
	b	.L4062
.L4061:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L4071
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_EvalObj
	mov	r3, r0
	b	.L4064
.L4066:
	nop
	b	.L4049
.L4067:
	nop
	b	.L4049
.L4068:
	nop
	b	.L4049
.L4069:
	nop
	b	.L4049
.L4070:
	nop
	b	.L4049
.L4071:
	nop
.L4049:
	ldr	r3, .L4072+20
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
.L4064:
	ldr	r2, .L4072
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4065
	bl	__stack_chk_fail
.L4065:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4073:
	.align	2
.L4072:
	.word	.LC482
	.word	.LC478
	.word	.LC86
	.word	.LC479
	.word	.LC480
	.word	.LC481
	.size	Jim_IfCoreCommand, .-Jim_IfCoreCommand
	.section	.rodata
	.align	2
.LC483:
	.ascii	"-nocase\000"
	.align	2
.LC484:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_CommandMatchObj
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CommandMatchObj, %function
Jim_CommandMatchObj:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, .L4080
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-52]
	str	r2, [r3, #-20]
	ldr	r3, [fp, #4]
	cmp	r3, #0
	beq	.L4075
	ldr	r4, [fp, #-40]
	add	r3, r4, #1
	str	r3, [fp, #-40]
	mvn	r2, #0
	ldr	r1, .L4080+4
	ldr	r0, [fp, #-48]
	bl	Jim_NewStringObj
	mov	r2, r0
	lsl	r3, r4, #2
	sub	r1, fp, #12
	add	r3, r1, r3
	str	r2, [r3, #-20]
.L4075:
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-56]
	str	r2, [r3, #-20]
	ldr	r3, [fp, #-40]
	add	r2, r3, #1
	str	r2, [fp, #-40]
	lsl	r3, r3, #2
	sub	r2, fp, #12
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	str	r2, [r3, #-20]
	sub	r3, fp, #32
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-48]
	bl	Jim_EvalObjVector
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L4076
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	sub	r2, fp, #44
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L4077
.L4076:
	ldr	r3, [fp, #-36]
	rsb	r3, r3, #0
	str	r3, [fp, #-44]
.L4077:
	ldr	r3, [fp, #-44]
	ldr	r2, .L4080
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4079
	bl	__stack_chk_fail
.L4079:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L4081:
	.align	2
.L4080:
	.word	.LC484
	.word	.LC483
	.size	Jim_CommandMatchObj, .-Jim_CommandMatchObj
	.section	.rodata
	.align	2
.LC485:
	.ascii	"?options? string pattern body ... ?default body?   "
	.ascii	"or   {pattern body ?pattern body ...?}\000"
	.align	2
.LC486:
	.ascii	"-exact\000"
	.align	2
.LC487:
	.ascii	"-glob\000"
	.align	2
.LC488:
	.ascii	"-regexp\000"
	.align	2
.LC489:
	.ascii	"-command\000"
	.align	2
.LC490:
	.ascii	"bad option \"%#s\": must be -exact, -glob, -regexp,"
	.ascii	" -command procname or --\000"
	.align	2
.LC491:
	.ascii	"default\000"
	.align	2
.LC492:
	.ascii	"no body specified for pattern \"%#s\"\000"
	.align	2
.LC493:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SwitchCoreCommand, %function
Jim_SwitchCoreCommand:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L4135
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #1
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-68]
	cmp	r3, #2
	bgt	.L4083
	nop
	b	.L4084
.L4128:
	nop
	b	.L4084
.L4129:
	nop
	b	.L4084
.L4130:
	nop
.L4084:
	ldr	r3, .L4135+4
	ldr	r2, [fp, #-72]
	mov	r1, #1
	ldr	r0, [fp, #-64]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4125
.L4083:
	mov	r3, #1
	str	r3, [fp, #-48]
	b	.L4086
.L4097:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L4127
	mov	r2, #2
	ldr	r1, .L4135+8
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4089
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L4088
.L4089:
	mov	r2, #2
	ldr	r1, .L4135+12
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4090
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L4091
.L4090:
	mov	r2, #2
	ldr	r1, .L4135+16
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4092
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L4091
.L4092:
	mov	r2, #2
	ldr	r1, .L4135+20
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4093
	mov	r3, #2
	str	r3, [fp, #-52]
	b	.L4091
.L4093:
	mov	r2, #2
	ldr	r1, .L4135+24
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4094
	mov	r3, #3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L4128
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	b	.L4091
.L4094:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4135+28
	ldr	r0, [fp, #-64]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4125
.L4091:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L4129
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L4086:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-68]
	cmp	r2, r3
	blt	.L4097
	b	.L4088
.L4127:
	nop
.L4088:
	ldr	r3, [fp, #-48]
	add	r2, r3, #1
	str	r2, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	bne	.L4098
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #56
	sub	r2, fp, #60
	ldr	r0, [fp, #-64]
	bl	JimListGetElements
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-36]
	b	.L4099
.L4098:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	str	r3, [fp, #-36]
.L4099:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	beq	.L4130
	ldr	r3, [fp, #-60]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L4130
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L4102
.L4118:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r2, .L4135+32
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-64]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4103
	ldr	r3, [fp, #-60]
	sub	r3, r3, #2
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L4104
.L4103:
	ldr	r3, [fp, #-52]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L4131
.L4107:
	.word	.L4110
	.word	.L4109
	.word	.L4108
	.word	.L4106
.L4110:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_StringEqObj
	mov	r3, r0
	cmp	r3, #0
	beq	.L4132
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L4132
.L4109:
	mov	r3, #0
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-64]
	bl	Jim_StringMatchObj
	mov	r3, r0
	cmp	r3, #0
	beq	.L4133
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L4133
.L4108:
	mvn	r2, #0
	ldr	r1, .L4135+36
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-40]
.L4106:
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_CommandMatchObj
	str	r0, [fp, #-16]
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L4113
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #56
	sub	r2, fp, #60
	ldr	r0, [fp, #-64]
	bl	JimListGetElements
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-36]
.L4113:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bge	.L4114
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	b	.L4125
.L4114:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4134
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L4134
.L4132:
	nop
	b	.L4131
.L4133:
	nop
	b	.L4131
.L4134:
	nop
	b	.L4131
.L4104:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L4116
.L4131:
	nop
.L4116:
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
.L4102:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L4119
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L4118
	b	.L4119
.L4121:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
.L4119:
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L4120
	ldr	r2, .L4135+40
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	bne	.L4121
.L4120:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L4122
	ldr	r2, .L4135+40
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4122
	ldr	r3, [fp, #-44]
	sub	r3, r3, #-1073741822
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4135+44
	ldr	r0, [fp, #-64]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4125
.L4122:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4123
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L4123:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L4124
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_EvalObj
	mov	r3, r0
	b	.L4125
.L4124:
	mov	r3, #0
.L4125:
	ldr	r2, .L4135
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4126
	bl	__stack_chk_fail
.L4126:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4136:
	.align	2
.L4135:
	.word	.LC493
	.word	.LC485
	.word	.LC117
	.word	.LC486
	.word	.LC487
	.word	.LC488
	.word	.LC489
	.word	.LC490
	.word	.LC491
	.word	.LC79
	.word	.LC387
	.word	.LC492
	.size	Jim_SwitchCoreCommand, .-Jim_SwitchCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ListCoreCommand, %function
Jim_ListCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r1, r3, #4
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewListObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4138
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4138:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ListCoreCommand, .-Jim_ListCoreCommand
	.section	.rodata
	.align	2
.LC494:
	.ascii	"list ?index ...?\000"
	.align	2
.LC495:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LindexCoreCommand, %function
Jim_LindexCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L4155
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bgt	.L4141
	ldr	r3, .L4155+4
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4153
.L4141:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	mov	r3, #2
	str	r3, [fp, #-24]
	b	.L4143
.L4150:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L4144
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4145
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4145:
	mov	r3, #1
	b	.L4153
.L4144:
	ldr	r2, [fp, #-28]
	sub	r3, fp, #32
	mov	r1, #0
	str	r1, [sp]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_ListIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L4146
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4147
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4147:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4148
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4148:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L4153
.L4146:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4149
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4149:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L4143:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	blt	.L4150
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4151
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4151:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4152
	ldr	r3, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4152:
	mov	r3, #0
.L4153:
	ldr	r2, .L4155
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4154
	bl	__stack_chk_fail
.L4154:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4156:
	.align	2
.L4155:
	.word	.LC495
	.word	.LC494
	.size	Jim_LindexCoreCommand, .-Jim_LindexCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LlengthCoreCommand, %function
Jim_LlengthCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L4158
	ldr	r3, .L4161
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4159
.L4158:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ListLength
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4160
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4160:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4159:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4162:
	.align	2
.L4161:
	.word	.LC341
	.size	Jim_LlengthCoreCommand, .-Jim_LlengthCoreCommand
	.section	.rodata
	.align	2
.LC496:
	.ascii	"?-exact|-glob|-regexp|-command 'command'? ?-bool|-i"
	.ascii	"nline? ?-not? ?-nocase? ?-all? list value\000"
	.align	2
.LC497:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LsearchCoreCommand, %function
Jim_LsearchCoreCommand:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, .L4213
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #3
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-92]
	cmp	r3, #2
	bgt	.L4164
	nop
	b	.L4165
.L4209:
	nop
.L4165:
	ldr	r3, .L4213+4
	ldr	r2, [fp, #-96]
	mov	r1, #1
	ldr	r0, [fp, #-88]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4166
.L4164:
	mov	r3, #1
	str	r3, [fp, #-80]
	b	.L4167
.L4179:
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #84
	mov	r2, #1
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4213+8
	ldr	r0, [fp, #-88]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4168
	mov	r3, #1
	b	.L4166
.L4168:
	ldr	r3, [fp, #-84]
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L4169
.L4171:
	.word	.L4177
	.word	.L4176
	.word	.L4175
	.word	.L4174
	.word	.L4174
	.word	.L4174
	.word	.L4173
	.word	.L4172
	.word	.L4170
.L4177:
	mov	r3, #1
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L4169
.L4176:
	mov	r3, #1
	str	r3, [fp, #-72]
	b	.L4169
.L4175:
	mov	r3, #1
	str	r3, [fp, #-68]
	b	.L4169
.L4172:
	mov	r3, #1
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-76]
	b	.L4169
.L4173:
	mov	r3, #1
	str	r3, [fp, #-64]
	b	.L4169
.L4170:
	ldr	r3, [fp, #-92]
	sub	r3, r3, #2
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	bge	.L4209
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
.L4174:
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-56]
	nop
.L4169:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L4167:
	ldr	r3, [fp, #-92]
	sub	r3, r3, #2
	ldr	r2, [fp, #-80]
	cmp	r2, r3
	blt	.L4179
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L4180
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-88]
	bl	Jim_NewListObj
	str	r0, [fp, #-48]
.L4180:
	ldr	r3, [fp, #-56]
	cmp	r3, #5
	bne	.L4181
	mvn	r2, #0
	ldr	r1, .L4213+12
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObj
	str	r0, [fp, #-44]
.L4181:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L4182
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
.L4182:
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_ListLength
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L4183
.L4201:
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #3
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L4184
.L4186:
	.word	.L4188
	.word	.L4187
	.word	.L4185
	.word	.L4184
	.word	.L4184
	.word	.L4185
.L4188:
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-16]
	ldr	r0, [fp, #-88]
	bl	Jim_StringCompareObj
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-40]
	b	.L4184
.L4187:
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-16]
	ldr	r0, [fp, #-88]
	bl	Jim_StringMatchObj
	str	r0, [fp, #-40]
	b	.L4184
.L4185:
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-68]
	str	r3, [sp]
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-88]
	bl	Jim_CommandMatchObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bge	.L4210
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L4190
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4190:
	mov	r3, #1
	str	r3, [fp, #-52]
	b	.L4191
.L4210:
	nop
.L4184:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L4192
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L4192
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L4192
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L4211
.L4192:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L4194
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-40]
	cmp	r3, r2
	beq	.L4195
.L4194:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L4193
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L4195
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L4193
.L4195:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L4196
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-72]
	eor	r3, r3, r2
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_NewIntObj
	str	r0, [fp, #-36]
	b	.L4197
.L4196:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L4198
	ldr	r1, [fp, #-80]
	ldr	r0, [fp, #-88]
	bl	Jim_NewIntObj
	str	r0, [fp, #-36]
	b	.L4197
.L4198:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-36]
.L4197:
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L4199
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-88]
	bl	Jim_ListAppendElement
	b	.L4193
.L4199:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4200
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4200:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L4191
.L4211:
	nop
.L4193:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L4183:
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L4201
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L4202
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4203
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4203:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L4191
.L4202:
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L4204
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-88]
	bl	Jim_NewIntObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4205
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4205:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L4191
.L4204:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L4212
	mvn	r1, #0
	ldr	r0, [fp, #-88]
	bl	Jim_NewIntObj
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4206
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4206:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	b	.L4191
.L4212:
	nop
.L4191:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L4207
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4207
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4207:
	ldr	r3, [fp, #-52]
.L4166:
	ldr	r2, .L4213
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4208
	bl	__stack_chk_fail
.L4208:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4214:
	.align	2
.L4213:
	.word	.LC497
	.word	.LC496
	.word	options.15799
	.word	.LC79
	.size	Jim_LsearchCoreCommand, .-Jim_LsearchCoreCommand
	.section	.rodata
	.align	2
.LC498:
	.ascii	"varName ?value value ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LappendCoreCommand, %function
Jim_LappendCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bgt	.L4216
	ldr	r3, .L4225
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4217
.L4216:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L4218
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	str	r0, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L4219
.L4218:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L4219
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-16]
.L4219:
	mov	r3, #2
	str	r3, [fp, #-12]
	b	.L4220
.L4221:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L4220:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L4221
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L4222
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4223
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4223:
	mov	r3, #1
	b	.L4217
.L4222:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4224
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4224:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4217:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4226:
	.align	2
.L4225:
	.word	.LC498
	.size	Jim_LappendCoreCommand, .-Jim_LappendCoreCommand
	.section	.rodata
	.align	2
.LC499:
	.ascii	"list index ?element ...?\000"
	.align	2
.LC500:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LinsertCoreCommand, %function
Jim_LinsertCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L4241
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bgt	.L4228
	ldr	r3, .L4241+4
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4237
.L4228:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L4230
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-20]
.L4230:
	ldr	r3, [fp, #-40]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L4240
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	Jim_ListLength
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L4233
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
	b	.L4234
.L4233:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L4234
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L4234:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-36]
	sub	r1, r3, #3
	ldr	r3, [fp, #-40]
	add	r3, r3, #12
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	Jim_ListInsertElements
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4235
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4235:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L4237
.L4240:
	nop
.L4232:
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	beq	.L4236
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4236:
	mov	r3, #1
.L4237:
	ldr	r2, .L4241
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4238
	bl	__stack_chk_fail
.L4238:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4242:
	.align	2
.L4241:
	.word	.LC500
	.word	.LC499
	.size	Jim_LinsertCoreCommand, .-Jim_LinsertCoreCommand
	.section	.rodata
	.align	2
.LC501:
	.ascii	"list first last ?element ...?\000"
	.align	2
.LC502:
	.ascii	"list doesn't contain element \000"
	.align	2
.LC503:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LreplaceCoreCommand, %function
Jim_LreplaceCoreCommand:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, .L4254
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-52]
	cmp	r3, #3
	bgt	.L4244
	ldr	r3, .L4254+4
	ldr	r2, [fp, #-56]
	mov	r1, #1
	ldr	r0, [fp, #-48]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4252
.L4244:
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	bne	.L4246
	ldr	r3, [fp, #-56]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L4247
.L4246:
	mov	r3, #1
	b	.L4252
.L4247:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-48]
	bl	Jim_ListLength
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	JimRelToAbsIndex
	mov	r3, r0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	JimRelToAbsIndex
	mov	r3, r0
	str	r3, [fp, #-36]
	sub	r3, fp, #32
	sub	r2, fp, #36
	sub	r1, fp, #40
	ldr	r0, [fp, #-24]
	bl	JimRelToAbsRange
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bgt	.L4248
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L4249
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L4248
.L4249:
	mvn	r2, #0
	ldr	r1, .L4254+8
	ldr	r0, [fp, #-48]
	bl	Jim_NewStringObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4250
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L4250:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-48]
	bl	Jim_AppendObj
	mov	r3, #1
	b	.L4252
.L4248:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	ldr	r2, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_NewListObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #4
	ldr	r3, [fp, #-56]
	add	r3, r3, #16
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	ListInsertElements
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	sub	r2, r2, r3
	ldr	r3, [fp, #-32]
	sub	r1, r2, r3
	ldr	r3, [fp, #-28]
	ldr	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	mov	r0, r3
	ldr	r3, [fp, #-32]
	add	r3, r0, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, r1
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	ListInsertElements
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4251
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L4251:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L4252:
	ldr	r2, .L4254
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4253
	bl	__stack_chk_fail
.L4253:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4255:
	.align	2
.L4254:
	.word	.LC503
	.word	.LC501
	.word	.LC502
	.size	Jim_LreplaceCoreCommand, .-Jim_LreplaceCoreCommand
	.section	.rodata
	.align	2
.LC504:
	.ascii	"listVar ?index...? newVal\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LsetCoreCommand, %function
Jim_LsetCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bgt	.L4257
	ldr	r3, .L4262
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4258
.L4257:
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L4259
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L4260
	mov	r3, #1
	b	.L4258
.L4260:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4261
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4261:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	b	.L4258
.L4259:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r0, r3, #8
	ldr	r3, [fp, #-20]
	sub	ip, r3, #3
	ldr	r3, [fp, #-20]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r0
	ldr	r0, [fp, #-16]
	bl	Jim_ListSetIndex
	mov	r3, r0
.L4258:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4263:
	.align	2
.L4262:
	.word	.LC504
	.size	Jim_LsetCoreCommand, .-Jim_LsetCoreCommand
	.section	.rodata
	.align	2
.LC505:
	.ascii	"?options? list\000"
	.align	2
.LC506:
	.ascii	"\"-command\" option must be followed by comparison "
	.ascii	"command\000"
	.align	2
.LC507:
	.ascii	"\"-index\" option must be followed by list index\000"
	.align	2
.LC508:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LsortCoreCommand, %function
Jim_LsortCoreCommand:
	@ args = 0, pretend = 0, frame = 480
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #488
	str	r0, [fp, #-472]
	str	r1, [fp, #-476]
	str	r2, [fp, #-480]
	ldr	r3, .L4292
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-476]
	cmp	r3, #1
	bgt	.L4265
	ldr	r3, .L4292+4
	ldr	r2, [fp, #-480]
	mov	r1, #1
	ldr	r0, [fp, #-472]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4290
.L4265:
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #1
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-472]
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-460]
	b	.L4267
.L4286:
	ldr	r3, [fp, #-460]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-480]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #464
	mov	r2, #3
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4292+8
	ldr	r0, [fp, #-472]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4268
	mov	r3, #1
	b	.L4290
.L4268:
	ldr	r3, [fp, #-464]
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L4270
.L4272:
	.word	.L4280
	.word	.L4279
	.word	.L4278
	.word	.L4277
	.word	.L4276
	.word	.L4275
	.word	.L4274
	.word	.L4273
	.word	.L4271
.L4280:
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L4270
.L4279:
	mov	r3, #1
	str	r3, [fp, #-36]
	b	.L4270
.L4275:
	mov	r3, #2
	str	r3, [fp, #-36]
	b	.L4270
.L4274:
	mov	r3, #3
	str	r3, [fp, #-36]
	b	.L4270
.L4278:
	mov	r3, #1
	str	r3, [fp, #-32]
	b	.L4270
.L4277:
	mvn	r3, #0
	str	r3, [fp, #-32]
	b	.L4270
.L4271:
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L4270
.L4276:
	ldr	r3, [fp, #-476]
	sub	r3, r3, #2
	ldr	r2, [fp, #-460]
	cmp	r2, r3
	blt	.L4281
	mvn	r2, #0
	ldr	r1, .L4292+12
	ldr	r0, [fp, #-472]
	bl	Jim_NewStringObj
	str	r0, [fp, #-440]
	ldr	r3, [fp, #-440]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-440]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-472]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4282
	ldr	r3, [fp, #-472]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-472]
	bl	Jim_FreeObj
.L4282:
	ldr	r3, [fp, #-472]
	ldr	r2, [fp, #-440]
	str	r2, [r3]
	mov	r3, #1
	b	.L4290
.L4281:
	mov	r3, #4
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-460]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-480]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-460]
	add	r3, r3, #1
	str	r3, [fp, #-460]
	b	.L4270
.L4273:
	ldr	r3, [fp, #-476]
	sub	r3, r3, #2
	ldr	r2, [fp, #-460]
	cmp	r2, r3
	blt	.L4283
	mvn	r2, #0
	ldr	r1, .L4292+16
	ldr	r0, [fp, #-472]
	bl	Jim_NewStringObj
	str	r0, [fp, #-444]
	ldr	r3, [fp, #-444]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-444]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-472]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4284
	ldr	r3, [fp, #-472]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-472]
	bl	Jim_FreeObj
.L4284:
	ldr	r3, [fp, #-472]
	ldr	r2, [fp, #-444]
	str	r2, [r3]
	mov	r3, #1
	b	.L4290
.L4283:
	ldr	r3, [fp, #-460]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-480]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #436
	add	r3, r3, #408
	mov	r2, r3
	ldr	r0, [fp, #-472]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L4285
	mov	r3, #1
	b	.L4290
.L4285:
	mov	r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-460]
	add	r3, r3, #1
	str	r3, [fp, #-460]
	nop
.L4270:
	ldr	r3, [fp, #-460]
	add	r3, r3, #1
	str	r3, [fp, #-460]
.L4267:
	ldr	r3, [fp, #-476]
	sub	r3, r3, #1
	ldr	r2, [fp, #-460]
	cmp	r2, r3
	blt	.L4286
	ldr	r3, [fp, #-476]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-480]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-472]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-456]
	sub	r3, fp, #436
	mov	r2, r3
	ldr	r1, [fp, #-456]
	ldr	r0, [fp, #-472]
	bl	ListSortElements
	str	r0, [fp, #-452]
	ldr	r3, [fp, #-452]
	cmp	r3, #0
	bne	.L4287
	ldr	r3, [fp, #-456]
	str	r3, [fp, #-448]
	ldr	r3, [fp, #-448]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-448]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-472]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4288
	ldr	r3, [fp, #-472]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-472]
	bl	Jim_FreeObj
.L4288:
	ldr	r3, [fp, #-472]
	ldr	r2, [fp, #-448]
	str	r2, [r3]
	b	.L4289
.L4287:
	ldr	r1, [fp, #-456]
	ldr	r0, [fp, #-472]
	bl	Jim_FreeObj
.L4289:
	ldr	r3, [fp, #-452]
.L4290:
	ldr	r2, .L4292
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4291
	bl	__stack_chk_fail
.L4291:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4293:
	.align	2
.L4292:
	.word	.LC508
	.word	.LC505
	.word	options.15899
	.word	.LC506
	.word	.LC507
	.size	Jim_LsortCoreCommand, .-Jim_LsortCoreCommand
	.section	.rodata
	.align	2
.LC509:
	.ascii	"varName ?value ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AppendCoreCommand, %function
Jim_AppendCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bgt	.L4295
	ldr	r3, .L4305
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4296
.L4295:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L4297
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L4298
	mov	r3, #1
	b	.L4296
.L4297:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetVariable
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L4299
	mov	r2, #0
	ldr	r1, .L4305+4
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L4300
.L4299:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	cmp	r3, #1
	ble	.L4300
	mov	r3, #1
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-20]
.L4300:
	mov	r3, #2
	str	r3, [fp, #-16]
	b	.L4301
.L4302:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendObj
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L4301:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L4302
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L4298
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L4303
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4303:
	mov	r3, #1
	b	.L4296
.L4298:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4304
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4304:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4296:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4306:
	.align	2
.L4305:
	.word	.LC509
	.word	.LC86
	.size	Jim_AppendCoreCommand, .-Jim_AppendCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DebugCoreCommand, %function
Jim_DebugCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mvn	r2, #0
	ldr	r1, .L4310
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4308
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4308:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4311:
	.align	2
.L4310:
	.word	.LC383
	.size	Jim_DebugCoreCommand, .-Jim_DebugCoreCommand
	.section	.rodata
	.align	2
.LC510:
	.ascii	"arg ?arg ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalCoreCommand, %function
Jim_EvalCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L4313
	ldr	r3, .L4318
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4314
.L4313:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L4315
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObj
	str	r0, [fp, #-8]
	b	.L4316
.L4315:
	ldr	r3, [fp, #-20]
	sub	r1, r3, #1
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ConcatObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObj
	str	r0, [fp, #-8]
.L4316:
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	bne	.L4317
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
.L4317:
	ldr	r3, [fp, #-8]
.L4314:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4319:
	.align	2
.L4318:
	.word	.LC510
	.size	Jim_EvalCoreCommand, .-Jim_EvalCoreCommand
	.section	.rodata
	.align	2
.LC511:
	.ascii	"?level? command ?arg ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_UplevelCoreCommand, %function
Jim_UplevelCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	ble	.L4321
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L4322
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L4323
.L4322:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #35
	bne	.L4324
.L4323:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetCallFrameByLevel
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	str	r3, [fp, #-32]
	b	.L4325
.L4324:
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_GetCallFrameByLevel
	str	r0, [fp, #-16]
.L4325:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L4326
	mov	r3, #1
	b	.L4327
.L4326:
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bgt	.L4328
	ldr	r3, [fp, #-32]
	sub	r2, r3, #4
	ldr	r3, .L4331
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4327
.L4328:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L4329
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObj
	str	r0, [fp, #-20]
	b	.L4330
.L4329:
	ldr	r3, [fp, #-28]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_ConcatObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObj
	str	r0, [fp, #-20]
.L4330:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-20]
	b	.L4327
.L4321:
	ldr	r3, .L4331
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
.L4327:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4332:
	.align	2
.L4331:
	.word	.LC511
	.size	Jim_UplevelCoreCommand, .-Jim_UplevelCoreCommand
	.section	.rodata
	.align	2
.LC512:
	.ascii	"expression ?...?\000"
	.align	2
.LC513:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ExprCoreCommand, %function
Jim_ExprCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L4343
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bne	.L4334
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_EvalExpression
	str	r0, [fp, #-20]
	b	.L4335
.L4334:
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	ble	.L4336
	ldr	r3, [fp, #-36]
	sub	r1, r3, #1
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, [fp, #-32]
	bl	Jim_ConcatObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	sub	r3, fp, #24
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	Jim_EvalExpression
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4335
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
	b	.L4335
.L4336:
	ldr	r3, .L4343+4
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4341
.L4335:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L4338
	ldr	r3, [fp, #-20]
	b	.L4341
.L4338:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4339
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4339:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4340
	ldr	r3, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4340:
	mov	r3, #0
.L4341:
	ldr	r2, .L4343
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4342
	bl	__stack_chk_fail
.L4342:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4344:
	.align	2
.L4343:
	.word	.LC513
	.word	.LC512
	.size	Jim_ExprCoreCommand, .-Jim_ExprCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_BreakCoreCommand, %function
Jim_BreakCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L4346
	ldr	r3, .L4348
	ldr	r2, [fp, #-16]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4347
.L4346:
	mov	r3, #3
.L4347:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4349:
	.align	2
.L4348:
	.word	.LC86
	.size	Jim_BreakCoreCommand, .-Jim_BreakCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ContinueCoreCommand, %function
Jim_ContinueCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	beq	.L4351
	ldr	r3, .L4353
	ldr	r2, [fp, #-16]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4352
.L4351:
	mov	r3, #4
.L4352:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4354:
	.align	2
.L4353:
	.word	.LC86
	.size	Jim_ContinueCoreCommand, .-Jim_ContinueCoreCommand
	.section	.rodata
	.align	2
.LC514:
	.ascii	"-code\000"
	.align	2
.LC515:
	.ascii	"-errorinfo\000"
	.align	2
.LC516:
	.ascii	"-errorcode\000"
	.align	2
.LC517:
	.ascii	"-level\000"
	.align	2
.LC518:
	.ascii	"?-code code? ?-errorinfo stacktrace? ?-level level?"
	.ascii	" ?result?\000"
	.align	2
.LC519:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ReturnCoreCommand, %function
Jim_ReturnCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L4374
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L4356
.L4365:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4374+4
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4357
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetReturnCode
	mov	r3, r0
	cmp	r3, #1
	bne	.L4358
	mov	r3, #1
	b	.L4371
.L4357:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4374+8
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4360
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	b	.L4358
.L4360:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4374+12
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4361
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L4358
.L4361:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L4374+16
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4373
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L4363
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bge	.L4358
.L4363:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4374+20
	ldr	r0, [fp, #-40]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4371
.L4358:
	ldr	r3, [fp, #-24]
	add	r3, r3, #2
	str	r3, [fp, #-24]
.L4356:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L4365
	b	.L4364
.L4373:
	nop
.L4364:
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L4366
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	beq	.L4366
	ldr	r3, .L4374+24
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
.L4366:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L4367
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bne	.L4367
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	JimSetStackTrace
.L4367:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4368
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bne	.L4368
	ldr	r2, [fp, #-16]
	ldr	r1, .L4374+28
	ldr	r0, [fp, #-40]
	bl	Jim_SetGlobalVariableStr
.L4368:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-40]
	str	r2, [r3, #28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-40]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bne	.L4369
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4370
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4370:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L4369:
	mov	r3, #2
.L4371:
	ldr	r2, .L4374
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4372
	bl	__stack_chk_fail
.L4372:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4375:
	.align	2
.L4374:
	.word	.LC519
	.word	.LC514
	.word	.LC515
	.word	.LC516
	.word	.LC517
	.word	.LC326
	.word	.LC518
	.word	.LC178
	.size	Jim_ReturnCoreCommand, .-Jim_ReturnCoreCommand
	.section	.rodata
	.align	2
.LC520:
	.ascii	"tailcall can only be called from a proc or lambda\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_TailcallCoreCommand, %function
Jim_TailcallCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L4377
	mvn	r2, #0
	ldr	r1, .L4382
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4378
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4378:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L4379
.L4377:
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	ble	.L4380
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #44]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetCommand
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L4381
	mov	r3, #1
	b	.L4379
.L4381:
	ldr	r0, [fp, #-12]
	bl	JimIncrCmdRefCount
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3, #88]
	ldr	r3, [fp, #-32]
	add	r1, r3, #4
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #84]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #84]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	mov	r3, #7
	b	.L4379
.L4380:
	mov	r3, #0
.L4379:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4383:
	.align	2
.L4382:
	.word	.LC520
	.size	Jim_TailcallCoreCommand, .-Jim_TailcallCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAliasCmd, %function
JimAliasCmd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #200]
	str	r3, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	Jim_DuplicateObj
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_ListLength
	mov	r1, r0
	ldr	r3, [fp, #-20]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [sp]
	mov	r3, r2
	mov	r2, r1
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_ListInsertElements
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	JimEvalObjList
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAliasCmd, .-JimAliasCmd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimAliasCmdDelete, %function
JimAliasCmdDelete:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4388
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4388:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimAliasCmdDelete, .-JimAliasCmdDelete
	.section	.rodata
	.align	2
.LC521:
	.ascii	"newname command ?args ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_AliasCoreCommand, %function
Jim_AliasCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bgt	.L4390
	ldr	r3, .L4395
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4391
.L4390:
	ldr	r3, [fp, #-32]
	add	r1, r3, #8
	ldr	r3, [fp, #-28]
	sub	r3, r3, #2
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L4392
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L4392
.L4393:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L4393
.L4392:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4394
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4394:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, .L4395+4
	str	r3, [sp]
	ldr	r3, [fp, #-12]
	ldr	r2, .L4395+8
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_CreateCommand
	mov	r3, r0
.L4391:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4396:
	.align	2
.L4395:
	.word	.LC521
	.word	JimAliasCmdDelete
	.word	JimAliasCmd
	.size	Jim_AliasCoreCommand, .-Jim_AliasCoreCommand
	.section	.rodata
	.align	2
.LC522:
	.ascii	"name arglist ?statics? body\000"
	.align	2
.LC523:
	.ascii	"procedure\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ProcCoreCommand, %function
Jim_ProcCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	beq	.L4398
	ldr	r3, [fp, #-28]
	cmp	r3, #5
	beq	.L4398
	ldr	r3, .L4407
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4399
.L4398:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4407+4
	ldr	r0, [fp, #-24]
	bl	JimValidName
	mov	r3, r0
	cmp	r3, #0
	beq	.L4400
	mov	r3, #1
	b	.L4399
.L4400:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bne	.L4401
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #12
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp]
	mov	r2, #0
	ldr	r0, [fp, #-24]
	bl	JimCreateProcedureCmd
	str	r0, [fp, #-16]
	b	.L4402
.L4401:
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	ldr	r3, [r3]
	mov	r0, #0
	str	r0, [sp]
	ldr	r0, [fp, #-24]
	bl	JimCreateProcedureCmd
	str	r0, [fp, #-16]
.L4402:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4403
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L4404
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L4404
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	add	r3, r3, #2
	b	.L4405
.L4404:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
.L4405:
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	JimCreateCommand
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	JimUpdateProcNamespace
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4406
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4406:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	b	.L4399
.L4403:
	mov	r3, #1
.L4399:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4408:
	.align	2
.L4407:
	.word	.LC522
	.word	.LC523
	.size	Jim_ProcCoreCommand, .-Jim_ProcCoreCommand
	.section	.rodata
	.align	2
.LC524:
	.ascii	"cmd ?args ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LocalCoreCommand, %function
Jim_LocalCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	bgt	.L4410
	ldr	r3, .L4415
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4411
.L4410:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #104]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #104]
	ldr	r3, [fp, #-28]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObjVector
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #104]
	sub	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #104]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L4412
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r2, #1
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_GetCommand
	mov	r3, r0
	cmp	r3, #0
	bne	.L4413
	mov	r3, #1
	b	.L4411
.L4413:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #80]
	cmp	r3, #0
	bne	.L4414
	ldr	r3, [fp, #-24]
	ldr	r4, [r3, #56]
	mov	r0, #12
	bl	Jim_Alloc
	mov	r3, r0
	str	r3, [r4, #80]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #80]
	mov	r0, r3
	bl	Jim_InitStack
.L4414:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #80]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	Jim_StackPush
.L4412:
	ldr	r3, [fp, #-20]
.L4411:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L4416:
	.align	2
.L4415:
	.word	.LC524
	.size	Jim_LocalCoreCommand, .-Jim_LocalCoreCommand
	.section	.rodata
	.align	2
.LC525:
	.ascii	"no previous command: \"%#s\"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_UpcallCoreCommand, %function
Jim_UpcallCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L4418
	ldr	r3, .L4422
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4419
.L4418:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetCommand
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L4420
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L4420
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L4421
.L4420:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4422+4
	ldr	r0, [fp, #-16]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4419
.L4421:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #40]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #40]
	ldr	r0, [fp, #-12]
	bl	JimIncrCmdRefCount
	ldr	r3, [fp, #-20]
	sub	r1, r3, #1
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObjVector
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #40]
	sub	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #40]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	JimDecrCmdRefCount
	ldr	r3, [fp, #-8]
.L4419:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4423:
	.align	2
.L4422:
	.word	.LC524
	.word	.LC525
	.size	Jim_UpcallCoreCommand, .-Jim_UpcallCoreCommand
	.section	.rodata
	.align	2
.LC526:
	.ascii	"lambdaExpr ?arg ...?\000"
	.align	2
.LC527:
	.ascii	"can't interpret \"%#s\" as a lambda expression\000"
	.align	2
.LC528:
	.ascii	"namespaces not enabled\000"
	.align	2
.LC529:
	.ascii	"apply lambdaExpr\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ApplyCoreCommand, %function
Jim_ApplyCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bgt	.L4425
	ldr	r3, .L4432
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4426
.L4425:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_ListLength
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #2
	beq	.L4427
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	beq	.L4427
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4432+4
	ldr	r0, [fp, #-40]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4426
.L4427:
	ldr	r3, [fp, #-32]
	cmp	r3, #3
	bne	.L4428
	mvn	r2, #0
	ldr	r1, .L4432+8
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4429
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4429:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #1
	b	.L4426
.L4428:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-36]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-40]
	bl	JimCreateProcedureCmd
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L4430
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-16]
	mvn	r2, #0
	ldr	r1, .L4432+12
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	add	r0, r3, #4
	ldr	r3, [fp, #-48]
	add	r1, r3, #8
	ldr	r3, [fp, #-44]
	sub	r3, r3, #2
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	JimCallProcedure
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4431
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4431:
	ldr	r0, [fp, #-16]
	bl	Jim_Free
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	JimDecrCmdRefCount
	ldr	r3, [fp, #-12]
	b	.L4426
.L4430:
	mov	r3, #1
.L4426:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4433:
	.align	2
.L4432:
	.word	.LC526
	.word	.LC527
	.word	.LC528
	.word	.LC529
	.size	Jim_ApplyCoreCommand, .-Jim_ApplyCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ConcatCoreCommand, %function
Jim_ConcatCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r1, r3, #1
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	Jim_ConcatObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4435
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4435:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_ConcatCoreCommand, .-Jim_ConcatCoreCommand
	.section	.rodata
	.align	2
.LC530:
	.ascii	"?level? otherVar localVar ?otherVar localVar ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_UpvarCoreCommand, %function
Jim_UpvarCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	ble	.L4438
	ldr	r3, [fp, #-20]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L4438
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetCallFrameByLevel
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	b	.L4439
.L4438:
	mov	r1, #0
	ldr	r0, [fp, #-16]
	bl	Jim_GetCallFrameByLevel
	str	r0, [fp, #-8]
.L4439:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L4440
	mov	r3, #1
	b	.L4441
.L4440:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bgt	.L4442
	ldr	r3, .L4446
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4441
.L4442:
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L4443
.L4445:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_SetVariableLink
	mov	r3, r0
	cmp	r3, #0
	beq	.L4444
	mov	r3, #1
	b	.L4441
.L4444:
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	str	r3, [fp, #-12]
.L4443:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L4445
	mov	r3, #0
.L4441:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4447:
	.align	2
.L4446:
	.word	.LC530
	.size	Jim_UpvarCoreCommand, .-Jim_UpvarCoreCommand
	.section	.rodata
	.align	2
.LC531:
	.ascii	"varName ?varName ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GlobalCoreCommand, %function
Jim_GlobalCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L4449
	ldr	r3, .L4456
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4450
.L4449:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L4451
	mov	r3, #0
	b	.L4450
.L4451:
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L4452
.L4455:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L4453
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	beq	.L4454
.L4453:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	ldr	r0, [fp, #-16]
	bl	Jim_SetVariableLink
	mov	r3, r0
	cmp	r3, #0
	beq	.L4454
	mov	r3, #1
	b	.L4450
.L4454:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L4452:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L4455
	mov	r3, #0
.L4450:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4457:
	.align	2
.L4456:
	.word	.LC531
	.size	Jim_GlobalCoreCommand, .-Jim_GlobalCoreCommand
	.section	.rodata
	.align	2
.LC532:
	.ascii	"list must contain an even number of elements\000"
	.align	2
.LC533:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimStringMap, %function
JimStringMap:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	ldr	r3, .L4472
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Jim_ListLength
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L4459
	mvn	r2, #0
	ldr	r1, .L4472+4
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4460
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L4460:
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L4461
.L4459:
	ldr	r0, [fp, #-72]
	bl	Jim_String
	str	r0, [fp, #-52]
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-64]
	bl	Jim_Utf8Length
	str	r0, [fp, #-44]
	mov	r2, #0
	ldr	r1, .L4472+8
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-32]
	b	.L4462
.L4469:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L4463
.L4467:
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Jim_ListGetIndex
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	Jim_String
	str	r0, [fp, #-24]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-64]
	bl	Jim_Utf8Length
	str	r0, [fp, #-20]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L4464
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L4464
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-52]
	bl	JimStringCompareLen
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L4464
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L4465
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_AppendString
	mov	r3, #0
	str	r3, [fp, #-48]
.L4465:
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-64]
	bl	Jim_ListGetIndex
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_AppendObj
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-44]
	b	.L4466
.L4464:
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	str	r3, [fp, #-40]
.L4463:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	blt	.L4467
.L4466:
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	bne	.L4462
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L4468
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
.L4468:
	ldr	r3, [fp, #-52]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-56]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, r2
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-44]
	sub	r3, r3, #1
	str	r3, [fp, #-44]
.L4462:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L4469
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L4470
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-64]
	bl	Jim_AppendString
.L4470:
	ldr	r3, [fp, #-32]
.L4461:
	ldr	r2, .L4472
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4471
	bl	__stack_chk_fail
.L4471:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4473:
	.align	2
.L4472:
	.word	.LC533
	.word	.LC532
	.word	.LC86
	.size	JimStringMap, .-JimStringMap
	.section	.rodata
	.align	2
.LC534:
	.ascii	"option ?arguments ...?\000"
	.align	2
.LC535:
	.ascii	"?-nocase? ?-length int? string1 string2\000"
	.align	2
.LC536:
	.ascii	"?-nocase? pattern string\000"
	.align	2
.LC537:
	.ascii	"?-nocase? mapList string\000"
	.align	2
.LC538:
	.ascii	"string first last\000"
	.align	2
.LC539:
	.ascii	"string first last ?string?\000"
	.align	2
.LC540:
	.ascii	"string count\000"
	.align	2
.LC541:
	.ascii	"string index\000"
	.align	2
.LC542:
	.ascii	"subString string ?index?\000"
	.align	2
.LC543:
	.ascii	"string ?trimchars?\000"
	.align	2
.LC544:
	.ascii	"-strict\000"
	.align	2
.LC545:
	.ascii	"class ?-strict? str\000"
	.align	2
.LC546:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_StringCoreCommand, %function
Jim_StringCoreCommand:
	@ args = 0, pretend = 0, frame = 208
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #220
	str	r0, [fp, #-208]
	str	r1, [fp, #-212]
	str	r2, [fp, #-216]
	ldr	r3, .L4595+68
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-212]
	cmp	r3, #1
	bgt	.L4475
	ldr	r3, .L4595
	ldr	r2, [fp, #-216]
	mov	r1, #1
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4475:
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	ldr	r1, [r3]
	sub	r3, fp, #196
	mov	r2, #3
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4595+4
	ldr	r0, [fp, #-208]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4477
	mov	r3, #1
	b	.L4591
.L4477:
	ldr	r3, [fp, #-196]
	cmp	r3, #21
	ldrls	pc, [pc, r3, asl #2]
	b	.L4478
.L4480:
	.word	.L4493
	.word	.L4493
	.word	.L4491
	.word	.L4492
	.word	.L4491
	.word	.L4490
	.word	.L4489
	.word	.L4489
	.word	.L4488
	.word	.L4487
	.word	.L4486
	.word	.L4485
	.word	.L4484
	.word	.L4483
	.word	.L4483
	.word	.L4482
	.word	.L4481
	.word	.L4481
	.word	.L4481
	.word	.L4479
	.word	.L4479
	.word	.L4479
.L4493:
	ldr	r3, [fp, #-212]
	cmp	r3, #3
	beq	.L4494
	ldr	r3, .L4595+56
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4494:
	ldr	r3, [fp, #-196]
	cmp	r3, #1
	bne	.L4495
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_Utf8Length
	str	r0, [fp, #-184]
	b	.L4496
.L4495:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	str	r0, [fp, #-184]
.L4496:
	ldr	r1, [fp, #-184]
	ldr	r0, [fp, #-208]
	bl	Jim_NewIntObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4497
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4497:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4482:
	ldr	r3, [fp, #-212]
	cmp	r3, #3
	bne	.L4498
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-180]
	b	.L4499
.L4498:
	mov	r2, #0
	ldr	r1, .L4595+8
	ldr	r0, [fp, #-208]
	bl	Jim_NewStringObj
	str	r0, [fp, #-180]
	mov	r3, #2
	str	r3, [fp, #-176]
	b	.L4500
.L4501:
	ldr	r3, [fp, #-176]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-180]
	ldr	r0, [fp, #-208]
	bl	Jim_AppendObj
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L4500:
	ldr	r2, [fp, #-176]
	ldr	r3, [fp, #-212]
	cmp	r2, r3
	blt	.L4501
.L4499:
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-120]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4502
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4502:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4491:
	mvn	r3, #0
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-212]
	sub	r3, r3, #4
	str	r3, [fp, #-172]
	mov	r3, #2
	str	r3, [fp, #-168]
	b	.L4503
.L4512:
	ldr	r3, [fp, #-168]
	add	r2, r3, #1
	str	r2, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #188
	mov	r2, #2
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4595+12
	ldr	r0, [fp, #-208]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4504
	nop
	b	.L4505
.L4593:
	nop
	b	.L4505
.L4594:
	nop
.L4505:
	ldr	r3, .L4595+16
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4504:
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	bne	.L4507
	mov	r3, #0
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-172]
	sub	r3, r3, #1
	str	r3, [fp, #-172]
	b	.L4503
.L4507:
	ldr	r3, [fp, #-172]
	cmp	r3, #1
	ble	.L4593
	ldr	r3, [fp, #-168]
	add	r2, r3, #1
	str	r2, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #192
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L4510
	mov	r3, #1
	b	.L4591
.L4510:
	ldr	r3, [fp, #-172]
	sub	r3, r3, #2
	str	r3, [fp, #-172]
.L4503:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	bgt	.L4512
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	bne	.L4594
	ldr	r3, [fp, #-212]
	sub	r3, r3, #-1073741822
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	bge	.L4514
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	beq	.L4514
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	beq	.L4514
	ldr	r3, [fp, #-216]
	ldr	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	mov	r0, r2
	bl	Jim_StringEqObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_NewIntObj
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4515
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4515:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	b	.L4516
.L4514:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	blt	.L4517
	ldr	r3, [fp, #-216]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r4, r0
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r1, r0
	ldr	r2, [fp, #-192]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r4
	bl	JimStringCompareLen
	str	r0, [fp, #-172]
	b	.L4518
.L4517:
	ldr	r3, [fp, #-216]
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	ldr	r2, [r3]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	ldr	r0, [fp, #-208]
	bl	Jim_StringCompareObj
	str	r0, [fp, #-172]
.L4518:
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	beq	.L4519
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	b	.L4520
.L4519:
	ldr	r3, [fp, #-172]
.L4520:
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_NewIntObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4521
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4521:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L4516:
	mov	r3, #0
	b	.L4591
.L4492:
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4522
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	bne	.L4523
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	sub	r3, fp, #200
	mov	r2, #2
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4595+20
	ldr	r0, [fp, #-208]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4522
.L4523:
	ldr	r3, .L4595+24
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4522:
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L4524
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	str	r3, [fp, #-216]
.L4524:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	ldr	r0, [fp, #-208]
	bl	Jim_StringMatchObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_NewIntObj
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4525
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4525:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-32]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4487:
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4526
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	bne	.L4527
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	sub	r3, fp, #200
	mov	r2, #2
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4595+20
	ldr	r0, [fp, #-208]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4526
.L4527:
	ldr	r3, .L4595+28
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4526:
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bne	.L4528
	ldr	r3, [fp, #-216]
	add	r3, r3, #4
	str	r3, [fp, #-216]
.L4528:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	ldr	r0, [fp, #-208]
	bl	JimStringMap
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L4529
	mov	r3, #1
	b	.L4591
.L4529:
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4530
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4530:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-48]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4489:
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	beq	.L4531
	ldr	r3, .L4595+32
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4531:
	ldr	r3, [fp, #-196]
	cmp	r3, #7
	bne	.L4532
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r0, [fp, #-208]
	bl	Jim_StringRangeObj
	str	r0, [fp, #-164]
	b	.L4533
.L4532:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r0, [fp, #-208]
	bl	Jim_StringByteRangeObj
	str	r0, [fp, #-164]
.L4533:
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	bne	.L4534
	mov	r3, #1
	b	.L4591
.L4534:
	ldr	r3, [fp, #-164]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4535
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4535:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4488:
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	beq	.L4536
	ldr	r3, [fp, #-212]
	cmp	r3, #6
	beq	.L4536
	ldr	r3, .L4595+36
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4536:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #16
	ldr	r0, [r3]
	ldr	r3, [fp, #-212]
	cmp	r3, #6
	bne	.L4537
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #20]
	b	.L4538
.L4537:
	mov	r3, #0
.L4538:
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-208]
	bl	JimStringReplaceObj
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L4539
	mov	r3, #1
	b	.L4591
.L4539:
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4540
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4540:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4486:
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4541
	ldr	r3, .L4595+40
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4541:
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r2, fp, #188
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L4543
	mov	r3, #1
	b	.L4591
.L4543:
	mov	r2, #0
	ldr	r1, .L4595+8
	ldr	r0, [fp, #-208]
	bl	Jim_NewStringObj
	str	r0, [fp, #-60]
	ldr	r3, [fp, #-188]
	cmp	r3, #0
	ble	.L4544
	b	.L4545
.L4546:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-208]
	bl	Jim_AppendObj
.L4545:
	ldr	r3, [fp, #-188]
	sub	r2, r3, #1
	str	r2, [fp, #-188]
	cmp	r3, #0
	bne	.L4546
.L4544:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4547
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4547:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-56]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4485:
	ldr	r3, [fp, #-212]
	cmp	r3, #3
	beq	.L4548
	ldr	r3, .L4595+56
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4548:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #192
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-156]
	ldr	r3, [fp, #-192]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-192]
	mov	r2, r3
	ldr	r3, [fp, #-72]
	add	r3, r3, r2
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-160]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-152]
	b	.L4550
.L4551:
	ldr	r3, [fp, #-156]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-188]
	mov	r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-156]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-64]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-160]
	add	r3, r2, r3
	str	r3, [fp, #-160]
	ldr	r2, [fp, #-152]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-156]
	add	r3, r2, r3
	str	r3, [fp, #-156]
.L4550:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-152]
	cmp	r2, r3
	blt	.L4551
	ldr	r3, [fp, #-192]
	mov	r2, r3
	ldr	r1, [fp, #-72]
	ldr	r0, [fp, #-208]
	bl	Jim_NewStringObjNoAlloc
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-68]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4552
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4552:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-68]
	str	r2, [r3]
	mov	r3, #0
	b	.L4591
.L4484:
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4553
	ldr	r3, .L4595+44
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4553:
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r2, fp, #192
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L4555
	mov	r3, #1
	b	.L4591
.L4555:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_Utf8Length
	str	r0, [fp, #-184]
	ldr	r3, [fp, #-192]
	cmp	r3, #-2147483648
	beq	.L4556
	ldr	r3, [fp, #-192]
	cmn	r3, #-2147483647
	beq	.L4556
	ldr	r3, [fp, #-192]
	mov	r1, r3
	ldr	r0, [fp, #-184]
	bl	JimRelToAbsIndex
	mov	r3, r0
	str	r3, [fp, #-192]
.L4556:
	ldr	r3, [fp, #-192]
	cmp	r3, #0
	blt	.L4557
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-184]
	cmp	r2, r3
	ble	.L4557
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	bne	.L4558
.L4557:
	mov	r2, #0
	ldr	r1, .L4595+8
	ldr	r0, [fp, #-208]
	bl	Jim_NewStringObj
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-76]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4559
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4559:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-76]
	str	r2, [r3]
	b	.L4560
.L4558:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	mov	r2, r0
	ldr	r3, [fp, #-184]
	cmp	r3, r2
	bne	.L4561
	ldr	r3, [fp, #-192]
	mov	r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r3, r2
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_NewStringObj
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4562
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4562:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	b	.L4560
.L4561:
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-92]
	add	r1, r2, r3
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-92]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-188]
	mov	r2, #1
	ldr	r0, [fp, #-208]
	bl	Jim_NewStringObj
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-84]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4563
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4563:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-84]
	str	r2, [r3]
.L4560:
	mov	r3, #0
	b	.L4591
.L4483:
	mov	r3, #0
	str	r3, [fp, #-188]
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4564
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	beq	.L4564
	ldr	r3, .L4595+48
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4596:
	.align	2
.L4595:
	.word	.LC534
	.word	options.16122
	.word	.LC86
	.word	nocase_length_options.16147
	.word	.LC535
	.word	nocase_options.16146
	.word	.LC536
	.word	.LC537
	.word	.LC538
	.word	.LC539
	.word	.LC540
	.word	.LC541
	.word	.LC542
	.word	.LC543
	.word	.LC240
	.word	.LC544
	.word	.LC545
	.word	.LC546
.L4564:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_Utf8Length
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_Utf8Length
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	bne	.L4566
	ldr	r3, [fp, #-216]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r2, fp, #188
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_GetIndex
	mov	r3, r0
	cmp	r3, #0
	beq	.L4567
	mov	r3, #1
	b	.L4591
.L4567:
	ldr	r3, [fp, #-188]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	JimRelToAbsIndex
	mov	r3, r0
	str	r3, [fp, #-188]
	b	.L4568
.L4566:
	ldr	r3, [fp, #-196]
	cmp	r3, #14
	bne	.L4568
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-188]
.L4568:
	ldr	r3, [fp, #-196]
	cmp	r3, #13
	bne	.L4569
	ldr	r3, [fp, #-188]
	str	r3, [sp]
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-116]
	bl	JimStringFirst
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_NewIntObj
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-96]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4570
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4570:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-96]
	str	r2, [r3]
	b	.L4571
.L4569:
	ldr	r3, [fp, #-188]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-108]
	ldr	r0, [fp, #-116]
	bl	JimStringLast
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_NewIntObj
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-100]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4572
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4572:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-100]
	str	r2, [r3]
.L4571:
	mov	r3, #0
	b	.L4591
.L4481:
	ldr	r3, [fp, #-212]
	cmp	r3, #3
	beq	.L4573
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4573
	ldr	r3, .L4595+52
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4573:
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	bne	.L4574
	ldr	r3, [fp, #-216]
	ldr	r3, [r3, #12]
	b	.L4575
.L4574:
	mov	r3, #0
.L4575:
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-196]
	cmp	r3, #16
	bne	.L4576
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	JimStringTrim
	str	r0, [fp, #-124]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-124]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4577
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4577:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	b	.L4578
.L4576:
	ldr	r3, [fp, #-196]
	cmp	r3, #17
	bne	.L4579
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	JimStringTrimLeft
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-128]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4580
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4580:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-128]
	str	r2, [r3]
	b	.L4578
.L4579:
	ldr	r3, [fp, #-196]
	cmp	r3, #18
	bne	.L4578
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-136]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	JimStringTrimRight
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-132]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4581
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4581:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-132]
	str	r2, [r3]
.L4578:
	mov	r3, #0
	b	.L4591
.L4479:
	ldr	r3, [fp, #-212]
	cmp	r3, #3
	beq	.L4582
	ldr	r3, .L4595+56
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4582:
	ldr	r3, [fp, #-196]
	cmp	r3, #19
	bne	.L4583
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	JimStringToLower
	str	r0, [fp, #-140]
	ldr	r3, [fp, #-140]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-140]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4584
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4584:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-140]
	str	r2, [r3]
	b	.L4585
.L4583:
	ldr	r3, [fp, #-196]
	cmp	r3, #20
	bne	.L4586
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	JimStringToUpper
	str	r0, [fp, #-144]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-144]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4587
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4587:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-144]
	str	r2, [r3]
	b	.L4585
.L4586:
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	JimStringToTitle
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-148]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4588
	ldr	r3, [fp, #-208]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_FreeObj
.L4588:
	ldr	r3, [fp, #-208]
	ldr	r2, [fp, #-148]
	str	r2, [r3]
.L4585:
	mov	r3, #0
	b	.L4591
.L4490:
	ldr	r3, [fp, #-212]
	cmp	r3, #4
	beq	.L4589
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	bne	.L4590
	ldr	r3, [fp, #-216]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldr	r2, .L4595+60
	mov	r1, r3
	ldr	r0, [fp, #-208]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L4590
.L4589:
	ldr	r3, [fp, #-212]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-216]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-216]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-212]
	cmp	r3, #5
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	ldr	r0, [fp, #-208]
	bl	JimStringIs
	mov	r3, r0
	b	.L4591
.L4590:
	ldr	r3, .L4595+64
	ldr	r2, [fp, #-216]
	mov	r1, #2
	ldr	r0, [fp, #-208]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4591
.L4478:
	mov	r3, #0
.L4591:
	ldr	r2, .L4595+68
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4592
	bl	__stack_chk_fail
.L4592:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	Jim_StringCoreCommand, .-Jim_StringCoreCommand
	.section	.rodata
	.align	2
.LC547:
	.ascii	"%ld microseconds per iteration\000"
	.align	2
.LC548:
	.ascii	"script ?count?\000"
	.align	2
.LC549:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_TimeCoreCommand, %function
Jim_TimeCoreCommand:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	ldr	r3, .L4609
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #1
	str	r3, [fp, #-96]
	ldr	r3, .L4609+4
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-108]
	cmp	r3, #1
	bgt	.L4598
	ldr	r3, .L4609+8
	ldr	r2, [fp, #-112]
	mov	r1, #1
	ldr	r0, [fp, #-104]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4607
.L4598:
	ldr	r3, [fp, #-108]
	cmp	r3, #3
	bne	.L4600
	ldr	r3, [fp, #-112]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #96
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L4600
	mov	r3, #1
	b	.L4607
.L4600:
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bge	.L4601
	mov	r3, #0
	b	.L4607
.L4601:
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-92]
	bl	JimClock
	str	r0, [fp, #-84]
	b	.L4602
.L4603:
	ldr	r3, [fp, #-112]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_EvalObj
	str	r0, [fp, #-72]
	ldr	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L4602
	ldr	r3, [fp, #-72]
	b	.L4607
.L4602:
	ldr	r3, [fp, #-92]
	sub	r2, r3, #1
	str	r2, [fp, #-92]
	cmp	r3, #0
	bgt	.L4603
	bl	JimClock
	mov	r2, r0
	ldr	r3, [fp, #-84]
	sub	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	beq	.L4604
	ldr	r3, [fp, #-96]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	b	.L4605
.L4604:
	mov	r2, #0
.L4605:
	sub	r3, fp, #68
	ldr	r1, [fp, #-88]
	mov	r0, r3
	bl	sprintf
	sub	r3, fp, #68
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_NewStringObj
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-76]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4606
	ldr	r3, [fp, #-104]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	Jim_FreeObj
.L4606:
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-76]
	str	r2, [r3]
	mov	r3, #0
.L4607:
	ldr	r2, .L4609
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4608
	bl	__stack_chk_fail
.L4608:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4610:
	.align	2
.L4609:
	.word	.LC549
	.word	.LC547
	.word	.LC548
	.size	Jim_TimeCoreCommand, .-Jim_TimeCoreCommand
	.section	.rodata
	.align	2
.LC550:
	.ascii	"?exitCode?\000"
	.align	2
.LC551:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ExitCoreCommand, %function
Jim_ExitCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L4617
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	ble	.L4612
	ldr	r3, .L4617+4
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4615
.L4612:
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	bne	.L4614
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #12
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L4614
	mov	r3, #1
	b	.L4615
.L4614:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #36]
	mov	r3, #6
.L4615:
	ldr	r2, .L4617
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4616
	bl	__stack_chk_fail
.L4616:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4618:
	.align	2
.L4617:
	.word	.LC551
	.word	.LC550
	.size	Jim_ExitCoreCommand, .-Jim_ExitCoreCommand
	.section	.rodata
	.align	2
.LC552:
	.ascii	"NONE\000"
	.align	2
.LC553:
	.ascii	"-no\000"
	.align	2
.LC554:
	.ascii	"?-?no?code ... --? script ?resultVarName? ?optionVa"
	.ascii	"rName?\000"
	.align	2
.LC555:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CatchCoreCommand, %function
Jim_CatchCoreCommand:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L4654
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #224
	str	r3, [fp, #-36]
	mvn	r2, #0
	ldr	r1, .L4654+4
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L4654+8
	ldr	r0, [fp, #-56]
	bl	Jim_SetGlobalVariableStr
	mov	r3, #1
	str	r3, [fp, #-44]
	b	.L4620
.L4633:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-32]
	ldr	r1, .L4654+12
	ldr	r0, [fp, #-32]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4621
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
	b	.L4632
.L4621:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L4651
	mov	r2, #3
	ldr	r1, .L4654+16
	ldr	r0, [fp, #-32]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4624
	ldr	r3, [fp, #-32]
	add	r3, r3, #3
	str	r3, [fp, #-32]
	mov	r3, #1
	str	r3, [fp, #-28]
	b	.L4625
.L4624:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
.L4625:
	sub	r3, fp, #52
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_StringToWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L4626
	mvn	r3, #0
	str	r3, [fp, #-52]
.L4626:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bge	.L4627
	mov	r2, #9
	ldr	r1, .L4654+20
	ldr	r0, [fp, #-32]
	bl	Jim_FindByName
	mov	r3, r0
	str	r3, [fp, #-52]
.L4627:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	blt	.L4652
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L4630
	ldr	r3, [fp, #-52]
	mov	r2, #1
	lsl	r3, r2, r3
	ldr	r2, [fp, #-36]
	orr	r3, r2, r3
	str	r3, [fp, #-36]
	b	.L4631
.L4630:
	ldr	r3, [fp, #-52]
	mov	r2, #1
	lsl	r3, r2, r3
	mvn	r3, r3
	ldr	r2, [fp, #-36]
	and	r3, r3, r2
	str	r3, [fp, #-36]
.L4631:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L4620:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	ldr	r2, [fp, #-44]
	cmp	r2, r3
	blt	.L4633
	b	.L4632
.L4651:
	nop
.L4632:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	ble	.L4653
	ldr	r3, [fp, #-60]
	cmp	r3, #3
	ble	.L4634
	b	.L4653
.L4652:
	nop
	b	.L4629
.L4653:
	nop
.L4629:
	ldr	r3, .L4654+24
	ldr	r2, [fp, #-64]
	mov	r1, #1
	ldr	r0, [fp, #-56]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4635
.L4634:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-36]
	and	r3, r3, #32
	cmp	r3, #0
	bne	.L4636
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L4636:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-40]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L4637
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L4637
	mov	r3, #5
	str	r3, [fp, #-48]
	b	.L4638
.L4637:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_EvalObj
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #196]
.L4638:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-40]
	sub	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	blt	.L4639
	ldr	r3, .L4654+28
	ldr	r3, [r3]
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bge	.L4639
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-48]
	lsr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L4639
	ldr	r3, [fp, #-48]
	b	.L4635
.L4639:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L4640
	ldr	r3, [fp, #-48]
	cmp	r3, #5
	bne	.L4640
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L4641
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	ldr	r2, [fp, #-56]
	ldr	r2, [r2, #48]
	mov	r1, r2
	ldr	r0, [fp, #-56]
	blx	r3
	b	.L4642
.L4641:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4643
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L4643:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L4642:
	ldr	r3, [fp, #-56]
	mov	r2, #0
	str	r2, [r3, #48]
.L4640:
	ldr	r3, [fp, #-60]
	cmp	r3, #1
	ble	.L4644
	ldr	r3, [fp, #-64]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-56]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L4645
	mov	r3, #1
	b	.L4635
.L4645:
	ldr	r3, [fp, #-60]
	cmp	r3, #3
	bne	.L4644
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	Jim_NewListObj
	str	r0, [fp, #-20]
	mvn	r2, #0
	ldr	r1, .L4654+32
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-48]
	cmp	r3, #2
	bne	.L4646
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #28]
	b	.L4647
.L4646:
	ldr	r3, [fp, #-48]
.L4647:
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	mvn	r2, #0
	ldr	r1, .L4654+36
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-48]
	cmp	r3, #1
	bne	.L4648
	mvn	r2, #0
	ldr	r1, .L4654+40
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #180]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	mov	r2, #0
	ldr	r1, .L4654+8
	ldr	r0, [fp, #-56]
	bl	Jim_GetGlobalVariableStr
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4648
	mvn	r2, #0
	ldr	r1, .L4654+44
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-56]
	bl	Jim_ListAppendElement
.L4648:
	ldr	r3, [fp, #-64]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L4644
	mov	r3, #1
	b	.L4635
.L4644:
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-56]
	bl	Jim_NewIntObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4649
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L4649:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L4635:
	ldr	r2, .L4654
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4650
	bl	__stack_chk_fail
.L4650:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4655:
	.align	2
.L4654:
	.word	.LC555
	.word	.LC552
	.word	.LC178
	.word	.LC117
	.word	.LC553
	.word	jimReturnCodes
	.word	.LC554
	.word	max_ignore_code.16263
	.word	.LC514
	.word	.LC517
	.word	.LC515
	.word	.LC516
	.size	Jim_CatchCoreCommand, .-Jim_CatchCoreCommand
	.section	.rodata
	.align	2
.LC556:
	.ascii	"string tag ?finalizer?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RefCoreCommand, %function
Jim_RefCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L4657
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	beq	.L4657
	ldr	r3, .L4663
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4658
.L4657:
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L4659
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r2, [r3]
	mov	r3, #0
	ldr	r0, [fp, #-16]
	bl	Jim_NewReference
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4660
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4660:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	b	.L4661
.L4659:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldr	r0, [fp, #-16]
	bl	Jim_NewReference
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4662
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4662:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
.L4661:
	mov	r3, #0
.L4658:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4664:
	.align	2
.L4663:
	.word	.LC556
	.size	Jim_RefCoreCommand, .-Jim_RefCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetrefCoreCommand, %function
Jim_GetrefCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L4666
	ldr	r3, .L4670
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4667
.L4666:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetReference
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L4668
	mov	r3, #1
	b	.L4667
.L4668:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4669
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4669:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4667:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4671:
	.align	2
.L4670:
	.word	.LC300
	.size	Jim_GetrefCoreCommand, .-Jim_GetrefCoreCommand
	.section	.rodata
	.align	2
.LC557:
	.ascii	"reference newValue\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetrefCoreCommand, %function
Jim_SetrefCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L4673
	ldr	r3, .L4678
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4674
.L4673:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_GetReference
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L4675
	mov	r3, #1
	b	.L4674
.L4675:
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4676
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4676:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4677
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4677:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4674:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4679:
	.align	2
.L4678:
	.word	.LC557
	.size	Jim_SetrefCoreCommand, .-Jim_SetrefCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CollectCoreCommand, %function
Jim_CollectCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	beq	.L4681
	ldr	r3, .L4686
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4682
.L4681:
	ldr	r0, [fp, #-16]
	bl	Jim_Collect
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_NewIntObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4683
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4683:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L4684
.L4685:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #112]
	ldr	r3, [r3, #36]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #112]
	mov	r0, r3
	bl	Jim_Free
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #112]
.L4684:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	bne	.L4685
	mov	r3, #0
.L4682:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4687:
	.align	2
.L4686:
	.word	.LC86
	.size	Jim_CollectCoreCommand, .-Jim_CollectCoreCommand
	.section	.rodata
	.align	2
.LC558:
	.ascii	"reference ?finalizerProc?\000"
	.align	2
.LC559:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FinalizeCoreCommand, %function
Jim_FinalizeCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L4699
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	beq	.L4689
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	beq	.L4689
	ldr	r3, .L4699+4
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4690
.L4689:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L4691
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetFinalizer
	mov	r3, r0
	cmp	r3, #0
	beq	.L4692
	mov	r3, #1
	b	.L4690
.L4692:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L4695
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4694
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4694:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L4695
.L4691:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	Jim_SetFinalizer
	mov	r3, r0
	cmp	r3, #0
	beq	.L4696
	mov	r3, #1
	b	.L4690
.L4696:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4697
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4697:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L4695:
	mov	r3, #0
.L4690:
	ldr	r2, .L4699
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4698
	bl	__stack_chk_fail
.L4698:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4700:
	.align	2
.L4699:
	.word	.LC559
	.word	.LC558
	.size	Jim_FinalizeCoreCommand, .-Jim_FinalizeCoreCommand
	.section	.rodata
	.align	2
.LC560:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimInfoReferences, %function
JimInfoReferences:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	str	r2, [fp, #-104]
	ldr	r3, .L4707
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-96]
	bl	Jim_NewListObj
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-96]
	add	r3, r3, #140
	sub	r2, fp, #68
	mov	r1, r2
	mov	r0, r3
	bl	JimInitHashTableIterator
	b	.L4702
.L4703:
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	ldr	r2, [r3]
	sub	r3, fp, #52
	ldr	r1, [fp, #-76]
	mov	r0, r3
	bl	JimFormatReference
	sub	r3, fp, #52
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-88]
	ldr	r0, [fp, #-96]
	bl	Jim_ListAppendElement
.L4702:
	sub	r3, fp, #68
	mov	r0, r3
	bl	Jim_NextHashEntry
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	bne	.L4703
	ldr	r3, [fp, #-88]
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4704
	ldr	r3, [fp, #-96]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-96]
	bl	Jim_FreeObj
.L4704:
	ldr	r3, [fp, #-96]
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	mov	r3, #0
	ldr	r2, .L4707
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4706
	bl	__stack_chk_fail
.L4706:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4708:
	.align	2
.L4707:
	.word	.LC560
	.size	JimInfoReferences, .-JimInfoReferences
	.section	.rodata
	.align	2
.LC561:
	.ascii	"oldName newName\000"
	.align	2
.LC562:
	.ascii	"new procedure\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RenameCoreCommand, %function
Jim_RenameCoreCommand:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L4710
	ldr	r3, .L4713
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4711
.L4710:
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4713+4
	ldr	r0, [fp, #-16]
	bl	JimValidName
	mov	r3, r0
	cmp	r3, #0
	beq	.L4712
	mov	r3, #1
	b	.L4711
.L4712:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r4, r0
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-16]
	bl	Jim_RenameCommand
	mov	r3, r0
.L4711:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L4714:
	.align	2
.L4713:
	.word	.LC561
	.word	.LC562
	.size	Jim_RenameCoreCommand, .-Jim_RenameCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictMatchKeys, %function
JimDictMatchKeys:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-20]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L4717
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	Jim_ListAppendElement
.L4717:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimDictMatchKeys, .-JimDictMatchKeys
	.section	.rodata
	.align	2
.LC563:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimDictPatternMatch, %function
JimDictPatternMatch:
	@ args = 4, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, .L4724
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	Jim_NewListObj
	str	r0, [fp, #-40]
	sub	r3, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-52]
	bl	JimInitHashTableIterator
	b	.L4719
.L4721:
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L4720
	ldr	r0, [fp, #-56]
	bl	Jim_String
	mov	r4, r0
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r2, #0
	mov	r1, r3
	mov	r0, r4
	bl	JimGlobMatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L4719
.L4720:
	ldr	r4, [fp, #-60]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-48]
	blx	r4
.L4719:
	sub	r3, fp, #32
	mov	r0, r3
	bl	Jim_NextHashEntry
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L4721
	ldr	r3, [fp, #-40]
	ldr	r2, .L4724
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4723
	bl	__stack_chk_fail
.L4723:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L4725:
	.align	2
.L4724:
	.word	.LC563
	.size	JimDictPatternMatch, .-JimDictPatternMatch
	.align	2
	.global	Jim_DictKeys
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictKeys, %function
Jim_DictKeys:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L4727
	mov	r3, #1
	b	.L4728
.L4727:
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #16]
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L4730
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	JimDictPatternMatch
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4729
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4729:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4728:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4731:
	.align	2
.L4730:
	.word	JimDictMatchKeys
	.size	Jim_DictKeys, .-Jim_DictKeys
	.align	2
	.global	Jim_DictValues
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictValues, %function
Jim_DictValues:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L4733
	mov	r3, #1
	b	.L4734
.L4733:
	ldr	r3, [fp, #-20]
	ldr	r1, [r3, #16]
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L4736
	ldr	r2, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	JimDictPatternMatch
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4735
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4735:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4734:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4737:
	.align	2
.L4736:
	.word	JimDictMatchKeys
	.size	Jim_DictValues, .-Jim_DictValues
	.align	2
	.global	Jim_DictSize
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictSize, %function
Jim_DictSize:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L4739
	mvn	r3, #0
	b	.L4740
.L4739:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #20]
.L4740:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_DictSize, .-Jim_DictSize
	.section	.rodata
	.align	2
.LC564:
	.ascii	"%d entries in table, %d buckets\012\000"
	.align	2
.LC565:
	.ascii	"%d: \000"
	.align	2
.LC566:
	.ascii	" %s\000"
	.text
	.align	2
	.global	Jim_DictInfo
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictInfo, %function
Jim_DictInfo:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	SetDictFromAny
	mov	r3, r0
	cmp	r3, #0
	beq	.L4742
	mov	r3, #1
	b	.L4743
.L4742:
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r2, r3
	ldr	r0, .L4749
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L4744
.L4748:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L4745
	ldr	r1, [fp, #-16]
	ldr	r0, .L4749+4
	bl	printf
	b	.L4746
.L4747:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L4749+8
	bl	printf
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
.L4746:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L4747
	mov	r0, #10
	bl	putchar
.L4745:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L4744:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bcc	.L4748
	mov	r3, #0
.L4743:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4750:
	.align	2
.L4749:
	.word	.LC564
	.word	.LC565
	.word	.LC566
	.size	Jim_DictInfo, .-Jim_DictInfo
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EvalEnsemble, %function
Jim_EvalEnsemble:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mvn	r2, #0
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	mov	r3, #1
	ldr	r2, .L4753
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_AppendString
	mvn	r3, #0
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_AppendString
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_EvalObjPrefix
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4754:
	.align	2
.L4753:
	.word	.LC448
	.size	Jim_EvalEnsemble, .-Jim_EvalEnsemble
	.section	.rodata
	.align	2
.LC567:
	.ascii	"subcommand ?arguments ...?\000"
	.align	2
.LC568:
	.ascii	"subcommand\000"
	.align	2
.LC569:
	.ascii	"dictionary ?key ...?\000"
	.align	2
.LC570:
	.ascii	"varName key ?key ...? value\000"
	.align	2
.LC571:
	.ascii	"dictionary key ?key ...?\000"
	.align	2
.LC572:
	.ascii	"varName key ?key ...?\000"
	.align	2
.LC573:
	.ascii	"dictionary ?pattern?\000"
	.align	2
.LC574:
	.ascii	"dictionary\000"
	.align	2
.LC575:
	.ascii	"?key value ...?\000"
	.align	2
.LC576:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_DictCoreCommand, %function
Jim_DictCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L4797
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bgt	.L4756
	ldr	r3, .L4797+4
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4756:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r1, [r3]
	sub	r3, fp, #32
	mov	r2, #1
	str	r2, [sp, #4]
	ldr	r2, .L4797+8
	str	r2, [sp]
	ldr	r2, .L4797+12
	ldr	r0, [fp, #-40]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4758
	mov	r3, #1
	b	.L4793
.L4758:
	ldr	r3, [fp, #-32]
	cmp	r3, #17
	ldrls	pc, [pc, r3, asl #2]
	b	.L4759
.L4761:
	.word	.L4770
	.word	.L4769
	.word	.L4768
	.word	.L4767
	.word	.L4766
	.word	.L4765
	.word	.L4764
	.word	.L4763
	.word	.L4762
	.word	.L4759
	.word	.L4759
	.word	.L4759
	.word	.L4759
	.word	.L4759
	.word	.L4759
	.word	.L4759
	.word	.L4759
	.word	.L4760
.L4769:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bgt	.L4771
	ldr	r3, .L4797+16
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4771:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	add	r2, r3, #12
	ldr	r3, [fp, #-44]
	sub	r0, r3, #3
	mov	r3, #1
	str	r3, [sp, #4]
	sub	r3, fp, #36
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-40]
	bl	Jim_DictKeysVector
	mov	r3, r0
	cmp	r3, #0
	beq	.L4772
	mov	r3, #1
	b	.L4793
.L4772:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4773
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4773:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
	b	.L4793
.L4768:
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	bgt	.L4774
	ldr	r3, .L4797+20
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4774:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	add	r0, r3, #12
	ldr	r3, [fp, #-44]
	sub	ip, r3, #4
	ldr	r3, [fp, #-44]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r0
	ldr	r0, [fp, #-40]
	bl	Jim_SetDictKeysVector
	mov	r3, r0
	b	.L4793
.L4766:
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	bgt	.L4775
	ldr	r3, .L4797+24
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4775:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	add	r2, r3, #12
	ldr	r3, [fp, #-44]
	sub	r0, r3, #3
	mov	r3, #1
	str	r3, [sp, #4]
	sub	r3, fp, #36
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, [fp, #-40]
	bl	Jim_DictKeysVector
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L4776
	mov	r3, #1
	b	.L4793
.L4776:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4777
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4777:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
	b	.L4793
.L4767:
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	bgt	.L4778
	ldr	r3, .L4797+28
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4778:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-48]
	add	r2, r3, #12
	ldr	r3, [fp, #-44]
	sub	r3, r3, #3
	mov	r0, #0
	str	r0, [sp, #4]
	mov	r0, #0
	str	r0, [sp]
	ldr	r0, [fp, #-40]
	bl	Jim_SetDictKeysVector
	mov	r3, r0
	cmp	r3, #0
	beq	.L4779
	mov	r3, #1
	b	.L4793
.L4779:
	mov	r3, #0
	b	.L4793
.L4765:
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	beq	.L4780
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	beq	.L4780
	ldr	r3, .L4797+32
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4780:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-44]
	cmp	r3, #4
	bne	.L4781
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #12]
	b	.L4782
.L4781:
	mov	r3, #0
.L4782:
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DictKeys
	mov	r3, r0
	b	.L4793
.L4764:
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	beq	.L4783
	ldr	r3, .L4797+36
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4783:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DictSize
	mov	r3, r0
	cmp	r3, #0
	bge	.L4784
	mov	r3, #1
	b	.L4793
.L4784:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DictSize
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4785
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4785:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	mov	r3, #0
	b	.L4793
.L4762:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L4786
	mov	r3, #0
	b	.L4793
.L4786:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DictSize
	mov	r3, r0
	cmp	r3, #0
	bge	.L4795
	mov	r3, #1
	b	.L4793
.L4760:
	ldr	r3, [fp, #-44]
	cmp	r3, #5
	ble	.L4788
	ldr	r3, [fp, #-44]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L4796
.L4788:
	mov	r3, #2
	str	r3, [fp, #-44]
	b	.L4796
.L4770:
	ldr	r3, [fp, #-44]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L4790
	ldr	r3, .L4797+40
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4790:
	ldr	r3, [fp, #-48]
	add	r1, r3, #8
	ldr	r3, [fp, #-44]
	sub	r3, r3, #2
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewDictObj
	mov	r3, r0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4791
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L4791:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L4793
.L4763:
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	beq	.L4792
	ldr	r3, .L4797+36
	ldr	r2, [fp, #-48]
	mov	r1, #2
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4793
.L4792:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_DictInfo
	mov	r3, r0
	b	.L4793
.L4795:
	nop
	b	.L4759
.L4796:
	nop
.L4759:
	ldr	r3, [fp, #-32]
	ldr	r2, .L4797+12
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r1, r3, #2
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L4797+44
	ldr	r0, [fp, #-40]
	bl	Jim_EvalEnsemble
	mov	r3, r0
.L4793:
	ldr	r2, .L4797
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4794
	bl	__stack_chk_fail
.L4794:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4798:
	.align	2
.L4797:
	.word	.LC576
	.word	.LC567
	.word	.LC568
	.word	options.16402
	.word	.LC569
	.word	.LC570
	.word	.LC571
	.word	.LC572
	.word	.LC573
	.word	.LC574
	.word	.LC575
	.word	.LC353
	.size	Jim_DictCoreCommand, .-Jim_DictCoreCommand
	.section	.rodata
	.align	2
.LC577:
	.ascii	"?options? string\000"
	.align	2
.LC578:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SubstCoreCommand, %function
Jim_SubstCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L4813
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #128
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	cmp	r3, #1
	bgt	.L4800
	ldr	r3, .L4813+4
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4811
.L4800:
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L4802
.L4808:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r3, fp, #24
	mov	r2, #3
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4813+8
	ldr	r0, [fp, #-32]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4803
	mov	r3, #1
	b	.L4811
.L4803:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	beq	.L4804
	cmp	r3, #2
	bgt	.L4805
	cmp	r3, #0
	beq	.L4806
	cmp	r3, #1
	beq	.L4807
	b	.L4805
.L4806:
	ldr	r3, [fp, #-16]
	orr	r3, r3, #4
	str	r3, [fp, #-16]
	b	.L4805
.L4807:
	ldr	r3, [fp, #-16]
	orr	r3, r3, #2
	str	r3, [fp, #-16]
	b	.L4805
.L4804:
	ldr	r3, [fp, #-16]
	orr	r3, r3, #1
	str	r3, [fp, #-16]
	nop
.L4805:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L4802:
	ldr	r3, [fp, #-36]
	sub	r3, r3, #1
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L4808
	ldr	r3, [fp, #-36]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r1, [r3]
	sub	r2, fp, #24
	ldr	r3, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	Jim_SubstObj
	mov	r3, r0
	cmp	r3, #0
	beq	.L4809
	mov	r3, #1
	b	.L4811
.L4809:
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4810
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4810:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L4811:
	ldr	r2, .L4813
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4812
	bl	__stack_chk_fail
.L4812:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4814:
	.align	2
.L4813:
	.word	.LC578
	.word	.LC577
	.word	options.16443
	.size	Jim_SubstCoreCommand, .-Jim_SubstCoreCommand
	.section	.rodata
	.align	2
.LC579:
	.ascii	"subcommand ?args ...?\000"
	.align	2
.LC580:
	.ascii	"varName\000"
	.align	2
.LC581:
	.ascii	"command \"%#s\" is not an alias\000"
	.align	2
.LC582:
	.ascii	"?pattern?\000"
	.align	2
.LC583:
	.ascii	"source ?filename line?\000"
	.align	2
.LC584:
	.ascii	"?levelNum?\000"
	.align	2
.LC585:
	.ascii	"procname\000"
	.align	2
.LC586:
	.ascii	"command \"%#s\" is not a procedure\000"
	.align	2
.LC587:
	.ascii	"%d.%d\000"
	.align	2
.LC588:
	.ascii	"script ?missing?\000"
	.align	2
.LC589:
	.ascii	"os.gethostname\000"
	.align	2
.LC590:
	.ascii	"{info nameofexecutable}\000"
	.align	2
.LC591:
	.ascii	"?code?\000"
	.align	2
.LC592:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_InfoCoreCommand, %function
Jim_InfoCoreCommand:
	@ args = 0, pretend = 0, frame = 192
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #204
	str	r0, [fp, #-192]
	str	r1, [fp, #-196]
	str	r2, [fp, #-200]
	ldr	r3, .L4906
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-196]
	cmp	r3, #1
	bgt	.L4816
	ldr	r3, .L4906+4
	ldr	r2, [fp, #-200]
	mov	r1, #1
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4816:
	ldr	r3, [fp, #-200]
	add	r3, r3, #4
	ldr	r1, [r3]
	sub	r3, fp, #184
	mov	r2, #3
	str	r2, [sp, #4]
	ldr	r2, .L4906+8
	str	r2, [sp]
	ldr	r2, .L4906+12
	ldr	r0, [fp, #-192]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4818
	mov	r3, #1
	b	.L4900
.L4818:
	ldr	r3, [fp, #-184]
	cmp	r3, #22
	ldrls	pc, [pc, r3, asl #2]
	b	.L4819
.L4821:
	.word	.L4829
	.word	.L4829
	.word	.L4839
	.word	.L4838
	.word	.L4837
	.word	.L4836
	.word	.L4835
	.word	.L4834
	.word	.L4834
	.word	.L4833
	.word	.L4832
	.word	.L4831
	.word	.L4831
	.word	.L4830
	.word	.L4829
	.word	.L4828
	.word	.L4827
	.word	.L4826
	.word	.L4825
	.word	.L4824
	.word	.L4823
	.word	.L4822
	.word	.L4820
.L4836:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4840
	ldr	r3, .L4906+16
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4840:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_GetVariable
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewIntObj
	str	r0, [fp, #-96]
	ldr	r3, [fp, #-96]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-96]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4841
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4841:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-96]
	str	r2, [r3]
	b	.L4819
.L4820:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4842
	ldr	r3, .L4906+20
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4842:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_GetCommand
	str	r0, [fp, #-160]
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	bne	.L4843
	mov	r3, #1
	b	.L4900
.L4843:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L4844
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #12]
	ldr	r2, .L4906+24
	cmp	r3, r2
	beq	.L4845
.L4844:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4906+28
	ldr	r0, [fp, #-192]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4900
.L4845:
	ldr	r3, [fp, #-160]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-156]
	ldr	r3, [fp, #-156]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-156]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4846
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4846:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-156]
	str	r2, [r3]
	mov	r3, #0
	b	.L4900
.L4837:
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L4838:
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L4839:
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	beq	.L4847
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4847
	ldr	r3, .L4906+32
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4847:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	bne	.L4848
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	b	.L4849
.L4848:
	mov	r3, #0
.L4849:
	ldr	r2, [fp, #-176]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	JimCommandsList
	str	r0, [fp, #-92]
	ldr	r3, [fp, #-92]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-92]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4850
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4850:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	b	.L4819
.L4832:
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L4833:
	ldr	r3, [fp, #-176]
	add	r3, r3, #1
	str	r3, [fp, #-176]
.L4835:
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	beq	.L4851
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4851
	ldr	r3, .L4906+32
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4851:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	bne	.L4852
	ldr	r3, [fp, #-200]
	ldr	r3, [r3, #8]
	b	.L4853
.L4852:
	mov	r3, #0
.L4853:
	ldr	r2, [fp, #-176]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	JimVariablesList
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-100]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-100]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4854
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4854:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-100]
	str	r2, [r3]
	b	.L4819
.L4827:
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	beq	.L4855
	ldr	r3, .L4906+36
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4855:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #116]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	JimGetScript
	mov	r3, r0
	ldr	r3, [r3, #4]
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-120]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4856
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4856:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-120]
	str	r2, [r3]
	b	.L4819
.L4826:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4857
	ldr	r3, [fp, #-196]
	cmp	r3, #5
	beq	.L4857
	ldr	r3, .L4906+40
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4857:
	ldr	r3, [fp, #-196]
	cmp	r3, #5
	bne	.L4859
	ldr	r3, [fp, #-200]
	add	r3, r3, #16
	ldr	r3, [r3]
	sub	r2, fp, #180
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L4860
	mov	r3, #1
	b	.L4900
.L4860:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r4, r0
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-192]
	bl	Jim_NewStringObj
	str	r0, [fp, #-172]
	ldr	r3, [fp, #-200]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, [fp, #-180]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-192]
	bl	JimSetSourceInfo
	b	.L4861
.L4859:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L4906+44
	cmp	r3, r2
	bne	.L4862
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-180]
	b	.L4863
.L4862:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L4906+48
	cmp	r3, r2
	bne	.L4864
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	JimGetScript
	str	r0, [fp, #-128]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-128]
	ldr	r3, [r3, #20]
	str	r3, [fp, #-180]
	b	.L4863
.L4864:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #124]
	str	r3, [fp, #-168]
	mov	r3, #1
	str	r3, [fp, #-180]
.L4863:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-192]
	bl	Jim_NewListObj
	str	r0, [fp, #-172]
	ldr	r2, [fp, #-168]
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-192]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-180]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-172]
	ldr	r0, [fp, #-192]
	bl	Jim_ListAppendElement
.L4861:
	ldr	r3, [fp, #-172]
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-124]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-124]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4865
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4865:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-124]
	str	r2, [r3]
	b	.L4819
.L4825:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #180]
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-132]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-132]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4866
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4866:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-132]
	str	r2, [r3]
	b	.L4819
.L4834:
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	beq	.L4867
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4868
	b	.L4902
.L4867:
	ldr	r3, [fp, #-192]
	ldr	r3, [r3, #56]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewIntObj
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-104]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-104]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4870
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4870:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-104]
	str	r2, [r3]
	b	.L4871
.L4868:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r1, [r3]
	ldr	r3, [fp, #-184]
	cmp	r3, #7
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	sub	r2, fp, #180
	ldr	r0, [fp, #-192]
	bl	JimInfoLevel
	mov	r3, r0
	cmp	r3, #0
	beq	.L4872
	mov	r3, #1
	b	.L4900
.L4872:
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-108]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-108]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4873
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4873:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	b	.L4871
.L4902:
	ldr	r3, .L4906+52
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4871:
	b	.L4819
.L4829:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4874
	ldr	r3, .L4906+56
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4874:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_GetCommand
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L4875
	mov	r3, #1
	b	.L4900
.L4875:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L4876
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L4906+60
	ldr	r0, [fp, #-192]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L4900
.L4876:
	ldr	r3, [fp, #-184]
	cmp	r3, #14
	beq	.L4877
	cmp	r3, #14
	bgt	.L4903
	cmp	r3, #0
	beq	.L4879
	cmp	r3, #1
	beq	.L4880
	b	.L4903
.L4879:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-72]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-72]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4881
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4881:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-72]
	str	r2, [r3]
	b	.L4878
.L4877:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-84]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-84]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4882
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4882:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-84]
	str	r2, [r3]
	b	.L4878
.L4880:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L4904
	ldr	r3, .L4906+64
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-88]
	ldr	r1, [r3, #20]
	ldr	r3, [fp, #-80]
	str	r3, [sp]
	ldr	r3, .L4906+68
	mov	r2, #0
	ldr	r0, [fp, #-192]
	bl	JimHashtablePatternMatch
	str	r0, [fp, #-76]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-76]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4884
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4884:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-76]
	str	r2, [r3]
.L4904:
	nop
.L4878:
	b	.L4903
.L4831:
	sub	r0, fp, #68
	mov	r3, #76
	mov	r2, #0
	ldr	r1, .L4906+72
	bl	sprintf
	sub	r3, fp, #68
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewStringObj
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-112]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-112]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4885
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4885:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	b	.L4819
.L4830:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	beq	.L4886
	ldr	r3, [fp, #-196]
	cmp	r3, #4
	beq	.L4886
	ldr	r3, .L4906+76
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4886:
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #180
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_ScriptIsComplete
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewIntObj
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-116]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-116]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4887
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4887:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-116]
	str	r2, [r3]
	ldrb	r3, [fp, #-180]	@ zero_extendqisi2
	cmp	r3, #32
	beq	.L4905
	ldr	r3, [fp, #-196]
	cmp	r3, #4
	bne	.L4905
	ldr	r3, [fp, #-200]
	add	r3, r3, #12
	ldr	r4, [r3]
	sub	r3, fp, #180
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, [fp, #-192]
	bl	Jim_SetVariable
	b	.L4905
.L4828:
	ldr	r1, .L4906+80
	ldr	r0, [fp, #-192]
	bl	Jim_Eval
	mov	r3, r0
	b	.L4900
.L4824:
	ldr	r1, .L4906+84
	ldr	r0, [fp, #-192]
	bl	Jim_Eval
	mov	r3, r0
	b	.L4900
.L4823:
	ldr	r3, [fp, #-196]
	cmp	r3, #2
	bne	.L4889
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-192]
	bl	Jim_NewListObj
	str	r0, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-164]
	b	.L4890
.L4891:
	ldr	r1, [fp, #-164]
	ldr	r0, [fp, #-192]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-140]
	ldr	r0, [fp, #-192]
	bl	Jim_ListAppendElement
	ldr	r2, .L4906+88
	ldr	r3, [fp, #-164]
	ldr	r3, [r2, r3, lsl #2]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-140]
	ldr	r0, [fp, #-192]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-164]
	add	r3, r3, #1
	str	r3, [fp, #-164]
.L4890:
	ldr	r2, .L4906+88
	ldr	r3, [fp, #-164]
	ldr	r3, [r2, r3, lsl #2]
	cmp	r3, #0
	bne	.L4891
	ldr	r3, [fp, #-140]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-136]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-136]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4892
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4892:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-136]
	str	r2, [r3]
	b	.L4819
.L4889:
	ldr	r3, [fp, #-196]
	cmp	r3, #3
	bne	.L4894
	ldr	r3, [fp, #-200]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #180
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	beq	.L4895
	mov	r3, #1
	b	.L4900
.L4895:
	ldr	r3, [fp, #-180]
	mov	r0, r3
	bl	Jim_ReturnCode
	str	r0, [fp, #-152]
	ldr	r3, [fp, #-152]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L4896
	ldr	r3, [fp, #-180]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_NewIntObj
	str	r0, [fp, #-144]
	ldr	r3, [fp, #-144]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-144]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4897
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4897:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-144]
	str	r2, [r3]
	b	.L4819
.L4896:
	mvn	r2, #0
	ldr	r1, [fp, #-152]
	ldr	r0, [fp, #-192]
	bl	Jim_NewStringObj
	str	r0, [fp, #-148]
	ldr	r3, [fp, #-148]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-148]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4899
	ldr	r3, [fp, #-192]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-192]
	bl	Jim_FreeObj
.L4899:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-148]
	str	r2, [r3]
	b	.L4819
.L4894:
	ldr	r3, .L4906+92
	ldr	r2, [fp, #-200]
	mov	r1, #2
	ldr	r0, [fp, #-192]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4900
.L4822:
	ldr	r2, [fp, #-200]
	ldr	r1, [fp, #-196]
	ldr	r0, [fp, #-192]
	bl	JimInfoReferences
	mov	r3, r0
	b	.L4900
.L4903:
	nop
	b	.L4819
.L4905:
	nop
.L4819:
	mov	r3, #0
.L4900:
	ldr	r2, .L4906
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4901
	bl	__stack_chk_fail
.L4901:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L4907:
	.align	2
.L4906:
	.word	.LC592
	.word	.LC579
	.word	.LC568
	.word	commands.16468
	.word	.LC580
	.word	.LC277
	.word	JimAliasCmd
	.word	.LC581
	.word	.LC582
	.word	.LC86
	.word	.LC583
	.word	sourceObjType
	.word	scriptObjType
	.word	.LC584
	.word	.LC585
	.word	.LC586
	.word	4097
	.word	JimVariablesMatch
	.word	.LC587
	.word	.LC588
	.word	.LC589
	.word	.LC590
	.word	jimReturnCodes
	.word	.LC591
	.size	Jim_InfoCoreCommand, .-Jim_InfoCoreCommand
	.section	.rodata
	.align	2
.LC593:
	.ascii	"?option? name\000"
	.align	2
.LC594:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ExistsCoreCommand, %function
Jim_ExistsCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L4925
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	bne	.L4909
	mov	r3, #3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
	b	.L4910
.L4909:
	ldr	r3, [fp, #-36]
	cmp	r3, #3
	bne	.L4911
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r1, [r3]
	sub	r3, fp, #28
	mov	r2, #3
	str	r2, [sp, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L4925+4
	ldr	r0, [fp, #-32]
	bl	Jim_GetEnum
	mov	r3, r0
	cmp	r3, #0
	beq	.L4912
	mov	r3, #1
	b	.L4922
.L4912:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-24]
	b	.L4910
.L4911:
	ldr	r3, .L4925+8
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4922
.L4910:
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	bne	.L4914
	mov	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_GetVariable
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-20]
	b	.L4915
.L4914:
	mov	r2, #0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	Jim_GetCommand
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L4924
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	beq	.L4916
	cmp	r3, #2
	bgt	.L4915
	cmp	r3, #0
	beq	.L4917
	cmp	r3, #1
	beq	.L4918
	b	.L4915
.L4917:
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L4915
.L4916:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L4919
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	ldr	r2, .L4925+12
	cmp	r3, r2
	bne	.L4919
	mov	r3, #1
	b	.L4920
.L4919:
	mov	r3, #0
.L4920:
	str	r3, [fp, #-20]
	b	.L4915
.L4918:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-20]
	b	.L4915
.L4924:
	nop
.L4915:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	Jim_NewIntObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4921
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L4921:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L4922:
	ldr	r2, .L4925
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4923
	bl	__stack_chk_fail
.L4923:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4926:
	.align	2
.L4925:
	.word	.LC594
	.word	options.16565
	.word	.LC593
	.word	JimAliasCmd
	.size	Jim_ExistsCoreCommand, .-Jim_ExistsCoreCommand
	.section	.rodata
	.align	2
.LC595:
	.ascii	"string ?splitChars?\000"
	.align	2
.LC596:
	.ascii	" \012\011\015\000"
	.align	2
.LC597:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SplitCoreCommand, %function
Jim_SplitCoreCommand:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #92
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, .L4949
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-92]
	cmp	r3, #2
	beq	.L4928
	ldr	r3, [fp, #-92]
	cmp	r3, #3
	beq	.L4928
	ldr	r3, .L4949+4
	ldr	r2, [fp, #-96]
	mov	r1, #1
	ldr	r0, [fp, #-88]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4947
.L4928:
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #76
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-68]
	ldr	r3, [fp, #-76]
	cmp	r3, #0
	bne	.L4930
	mov	r3, #0
	b	.L4947
.L4930:
	ldr	r3, [fp, #-96]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_Utf8Length
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-92]
	cmp	r3, #2
	bne	.L4931
	ldr	r3, .L4949+8
	str	r3, [fp, #-64]
	mov	r3, #4
	str	r3, [fp, #-56]
	b	.L4932
.L4931:
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-64]
	ldr	r3, [fp, #-96]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_Utf8Length
	str	r0, [fp, #-56]
.L4932:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-60]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-88]
	bl	Jim_NewListObj
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L4933
	b	.L4934
.L4939:
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-80]
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L4935
.L4938:
	ldr	r3, [fp, #-48]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-72]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, r2
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-80]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	bne	.L4935
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObj
	str	r0, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-88]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	b	.L4937
.L4935:
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	cmp	r3, #0
	bne	.L4938
.L4937:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
.L4934:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	cmp	r3, #0
	bne	.L4939
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObj
	str	r0, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-88]
	bl	Jim_ListAppendElement
	b	.L4940
.L4933:
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L4941
.L4945:
	ldr	r3, [fp, #-68]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-80]
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-80]
	cmp	r3, #8
	ble	.L4942
	ldr	r3, [fp, #-80]
	cmp	r3, #127
	bgt	.L4942
	ldr	r3, [fp, #-80]
	sub	r3, r3, #9
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L4943
	mov	r0, #476
	bl	Jim_Alloc
	str	r0, [fp, #-40]
	mov	r2, #476
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	memset
.L4943:
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L4944
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r4, r2, r3
	mov	r2, #1
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [r4]
.L4944:
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-88]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L4941
.L4942:
	mov	r2, #1
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-88]
	bl	Jim_NewStringObjUtf8
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-88]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	str	r3, [fp, #-68]
.L4941:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	cmp	r3, #0
	bne	.L4945
	ldr	r0, [fp, #-40]
	bl	Jim_Free
.L4940:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4946
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-88]
	bl	Jim_FreeObj
.L4946:
	ldr	r3, [fp, #-88]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
.L4947:
	ldr	r2, .L4949
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4948
	bl	__stack_chk_fail
.L4948:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L4950:
	.align	2
.L4949:
	.word	.LC597
	.word	.LC595
	.word	.LC596
	.size	Jim_SplitCoreCommand, .-Jim_SplitCoreCommand
	.section	.rodata
	.align	2
.LC598:
	.ascii	"list ?joinString?\000"
	.align	2
.LC599:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_JoinCoreCommand, %function
Jim_JoinCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L4959
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	beq	.L4952
	ldr	r3, [fp, #-28]
	cmp	r3, #3
	beq	.L4952
	ldr	r3, .L4959+4
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4957
.L4952:
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L4954
	ldr	r3, .L4959+8
	str	r3, [fp, #-16]
	mov	r3, #1
	str	r3, [fp, #-20]
	b	.L4955
.L4954:
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-16]
.L4955:
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	Jim_ListJoin
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4956
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L4956:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L4957:
	ldr	r2, .L4959
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4958
	bl	__stack_chk_fail
.L4958:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4960:
	.align	2
.L4959:
	.word	.LC599
	.word	.LC598
	.word	.LC448
	.size	Jim_JoinCoreCommand, .-Jim_JoinCoreCommand
	.section	.rodata
	.align	2
.LC600:
	.ascii	"formatString ?arg arg ...?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FormatCoreCommand, %function
Jim_FormatCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bgt	.L4962
	ldr	r3, .L4966
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4963
.L4962:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	sub	r2, r3, #2
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r0, [fp, #-16]
	bl	Jim_FormatString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L4964
	mov	r3, #1
	b	.L4963
.L4964:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4965
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L4965:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L4963:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4967:
	.align	2
.L4966:
	.word	.LC600
	.size	Jim_FormatCoreCommand, .-Jim_FormatCoreCommand
	.section	.rodata
	.align	2
.LC601:
	.ascii	"string format ?varName varName ...?\000"
	.align	2
.LC602:
	.ascii	"\"%n$\" argument index out of range\000"
	.align	2
.LC603:
	.ascii	"different numbers of variable names and field speci"
	.ascii	"fiers\000"
	.align	2
.LC604:
	.ascii	"variable is not assigned by any conversion specifie"
	.ascii	"rs\000"
	.align	2
.LC605:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ScanCoreCommand, %function
Jim_ScanCoreCommand:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #88
	str	r0, [fp, #-80]
	str	r1, [fp, #-84]
	str	r2, [fp, #-88]
	ldr	r3, .L4995
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-84]
	cmp	r3, #2
	bgt	.L4969
	ldr	r3, .L4995+4
	ldr	r2, [fp, #-88]
	mov	r1, #1
	ldr	r0, [fp, #-80]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4993
.L4969:
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #4]
	ldr	r2, .L4995+8
	cmp	r3, r2
	beq	.L4971
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	SetScanFmtFromAny
.L4971:
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L4972
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #20]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4973
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4973:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L4993
.L4972:
	ldr	r3, [fp, #-84]
	cmp	r3, #3
	ble	.L4974
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-84]
	sub	r3, r3, #2
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	blt	.L4975
	mvn	r2, #0
	ldr	r1, .L4995+12
	ldr	r0, [fp, #-80]
	bl	Jim_NewStringObj
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4976
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4976:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	mov	r3, #1
	b	.L4993
.L4975:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #2
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	blt	.L4977
	mvn	r2, #0
	ldr	r1, .L4995+16
	ldr	r0, [fp, #-80]
	bl	Jim_NewStringObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4978
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4978:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	mov	r3, #1
	b	.L4993
.L4977:
	ldr	r3, [fp, #-84]
	sub	r3, r3, #3
	ldr	r2, [fp, #-48]
	cmp	r2, r3
	bge	.L4974
	mvn	r2, #0
	ldr	r1, .L4995+20
	ldr	r0, [fp, #-80]
	bl	Jim_NewStringObj
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4979
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4979:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	mov	r3, #1
	b	.L4993
.L4974:
	ldr	r3, [fp, #-88]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldr	r2, [r3]
	mov	r3, #1
	ldr	r0, [fp, #-80]
	bl	Jim_ScanString
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L4980
	mov	r3, #1
	b	.L4993
.L4980:
	ldr	r3, [fp, #-84]
	cmp	r3, #3
	ble	.L4981
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L4982
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	beq	.L4982
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-80]
	bl	Jim_ListLength
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L4983
	sub	r3, fp, #72
	sub	r2, fp, #68
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-80]
	bl	JimListGetElements
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L4984
.L4986:
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	ble	.L4985
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	add	r3, r3, #3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-88]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-72]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-80]
	bl	Jim_SetVariable
	mov	r3, r0
	cmp	r3, #0
	beq	.L4985
	mov	r3, #1
	str	r3, [fp, #-60]
.L4985:
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L4984:
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-64]
	cmp	r2, r3
	blt	.L4986
.L4983:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
	b	.L4987
.L4982:
	mvn	r3, #0
	str	r3, [fp, #-56]
.L4987:
	ldr	r3, [fp, #-60]
	cmp	r3, #0
	bne	.L4988
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-80]
	bl	Jim_NewIntObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4989
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4989:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L4988:
	ldr	r3, [fp, #-60]
	b	.L4993
.L4981:
	ldr	r3, [fp, #-32]
	cmn	r3, #1
	bne	.L4990
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-80]
	bl	Jim_NewListObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4991
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4991:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	mov	r3, #0
	b	.L4993
.L4990:
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L4992
	ldr	r3, [fp, #-80]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-80]
	bl	Jim_FreeObj
.L4992:
	ldr	r3, [fp, #-80]
	ldr	r2, [fp, #-28]
	str	r2, [r3]
	mov	r3, #0
.L4993:
	ldr	r2, .L4995
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L4994
	bl	__stack_chk_fail
.L4994:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L4996:
	.align	2
.L4995:
	.word	.LC605
	.word	.LC601
	.word	scanFmtStringObjType
	.word	.LC602
	.word	.LC603
	.word	.LC604
	.size	Jim_ScanCoreCommand, .-Jim_ScanCoreCommand
	.section	.rodata
	.align	2
.LC606:
	.ascii	"message ?stacktrace?\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ErrorCoreCommand, %function
Jim_ErrorCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L4998
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	beq	.L4998
	ldr	r3, .L5002
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L4999
.L4998:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5000
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L5000:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #3
	bne	.L5001
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	JimSetStackTrace
	mov	r3, #1
	b	.L4999
.L5001:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	mov	r3, #1
.L4999:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5003:
	.align	2
.L5002:
	.word	.LC606
	.size	Jim_ErrorCoreCommand, .-Jim_ErrorCoreCommand
	.section	.rodata
	.align	2
.LC607:
	.ascii	"list first last\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LrangeCoreCommand, %function
Jim_LrangeCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	beq	.L5005
	ldr	r3, .L5009
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5006
.L5005:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #8
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #12
	ldr	r3, [r3]
	ldr	r0, [fp, #-16]
	bl	Jim_ListRange
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L5007
	mov	r3, #1
	b	.L5006
.L5007:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5008
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L5008:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	mov	r3, #0
.L5006:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5010:
	.align	2
.L5009:
	.word	.LC607
	.size	Jim_LrangeCoreCommand, .-Jim_LrangeCoreCommand
	.section	.rodata
	.align	2
.LC608:
	.ascii	"count ?value ...?\000"
	.align	2
.LC609:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LrepeatCoreCommand, %function
Jim_LrepeatCoreCommand:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L5022
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-28]
	cmp	r3, #1
	ble	.L5012
	ldr	r3, [fp, #-32]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #20
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L5012
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L5013
.L5012:
	ldr	r3, .L5022+4
	ldr	r2, [fp, #-32]
	mov	r1, #1
	ldr	r0, [fp, #-24]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5020
.L5013:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L5015
	ldr	r3, [fp, #-28]
	cmp	r3, #2
	bne	.L5016
.L5015:
	mov	r3, #0
	b	.L5020
.L5016:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	str	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	str	r0, [fp, #-16]
	b	.L5017
.L5018:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	mvn	r1, #0
	ldr	r0, [fp, #-16]
	bl	ListInsertElements
.L5017:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5018
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5019
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L5019:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L5020:
	ldr	r2, .L5022
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5021
	bl	__stack_chk_fail
.L5021:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5023:
	.align	2
.L5022:
	.word	.LC609
	.word	.LC608
	.size	Jim_LrepeatCoreCommand, .-Jim_LrepeatCoreCommand
	.align	2
	.global	Jim_GetEnviron
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetEnviron, %function
Jim_GetEnviron:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	ldr	r3, .L5026
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5027:
	.align	2
.L5026:
	.word	environ
	.size	Jim_GetEnviron, .-Jim_GetEnviron
	.align	2
	.global	Jim_SetEnviron
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetEnviron, %function
Jim_SetEnviron:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r2, .L5029
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5030:
	.align	2
.L5029:
	.word	environ
	.size	Jim_SetEnviron, .-Jim_SetEnviron
	.section	.rodata
	.align	2
.LC610:
	.ascii	"varName ?default?\000"
	.align	2
.LC611:
	.ascii	"environment variable \"%#s\" does not exist\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_EnvCoreCommand, %function
Jim_EnvCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L5032
	bl	Jim_GetEnviron
	str	r0, [fp, #-20]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	Jim_NewListObj
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L5033
.L5035:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, #61
	mov	r0, r3
	bl	strchr
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L5034
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, r3
	mov	r2, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	Jim_ListAppendElement
.L5034:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L5033:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5035
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5036
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L5036:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	b	.L5037
.L5032:
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bgt	.L5038
	ldr	r3, .L5042
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5037
.L5038:
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-28]
	bl	getenv
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L5039
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bgt	.L5040
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L5042+4
	ldr	r0, [fp, #-40]
	bl	Jim_SetResultFormatted
	mov	r3, #1
	b	.L5037
.L5040:
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-36]
.L5039:
	mvn	r2, #0
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5041
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L5041:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	mov	r3, #0
.L5037:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5043:
	.align	2
.L5042:
	.word	.LC610
	.word	.LC611
	.size	Jim_EnvCoreCommand, .-Jim_EnvCoreCommand
	.section	.rodata
	.align	2
.LC612:
	.ascii	"fileName\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SourceCoreCommand, %function
Jim_SourceCoreCommand:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	cmp	r3, #2
	beq	.L5045
	ldr	r3, .L5048
	ldr	r2, [fp, #-24]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5046
.L5045:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_EvalFile
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #2
	bne	.L5047
	mov	r3, #0
	b	.L5046
.L5047:
	ldr	r3, [fp, #-8]
.L5046:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5049:
	.align	2
.L5048:
	.word	.LC612
	.size	Jim_SourceCoreCommand, .-Jim_SourceCoreCommand
	.section	.rodata
	.align	2
.LC613:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_LreverseCoreCommand, %function
Jim_LreverseCoreCommand:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L5058
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #2
	beq	.L5051
	ldr	r3, .L5058+4
	ldr	r2, [fp, #-40]
	mov	r1, #1
	ldr	r0, [fp, #-32]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5056
.L5051:
	ldr	r3, [fp, #-40]
	add	r3, r3, #4
	ldr	r1, [r3]
	sub	r3, fp, #24
	sub	r2, fp, #20
	ldr	r0, [fp, #-32]
	bl	JimListGetElements
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	Jim_NewListObj
	str	r0, [fp, #-16]
	b	.L5053
.L5054:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r1, r3, #1
	str	r1, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	ListAppendElement
.L5053:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L5054
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5055
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	Jim_FreeObj
.L5055:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
.L5056:
	ldr	r2, .L5058
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5057
	bl	__stack_chk_fail
.L5057:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5059:
	.align	2
.L5058:
	.word	.LC613
	.word	.LC341
	.size	Jim_LreverseCoreCommand, .-Jim_LreverseCoreCommand
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimRangeLen, %function
JimRangeLen:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L5061
	mvn	r3, #0
	b	.L5062
.L5061:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L5063
	mov	r3, #0
	b	.L5062
.L5063:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	ble	.L5064
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L5064
	mvn	r3, #0
	b	.L5062
.L5064:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L5065
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	ble	.L5065
	mvn	r3, #0
	b	.L5062
.L5065:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L5066
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #0
	str	r3, [fp, #-8]
.L5066:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L5067
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #0
	str	r3, [fp, #-24]
.L5067:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	__aeabi_idiv
	mov	r3, r0
	add	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	blt	.L5068
	ldr	r3, [fp, #-8]
	b	.L5062
.L5068:
	mvn	r3, #0
.L5062:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	JimRangeLen, .-JimRangeLen
	.section	.rodata
	.align	2
.LC614:
	.ascii	"?start? end ?step?\000"
	.align	2
.LC615:
	.ascii	"Invalid (infinite?) range specified\000"
	.align	2
.LC616:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RangeCoreCommand, %function
Jim_RangeCoreCommand:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	ldr	r3, .L5085
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	ble	.L5071
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	ble	.L5072
.L5071:
	ldr	r3, .L5085+4
	ldr	r2, [fp, #-56]
	mov	r1, #1
	ldr	r0, [fp, #-48]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5083
.L5072:
	ldr	r3, [fp, #-52]
	cmp	r3, #2
	bne	.L5074
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5075
	mov	r3, #1
	b	.L5083
.L5074:
	ldr	r3, [fp, #-56]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L5076
	ldr	r3, [fp, #-56]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5077
.L5076:
	mov	r3, #1
	b	.L5083
.L5077:
	ldr	r3, [fp, #-52]
	cmp	r3, #4
	bne	.L5075
	ldr	r3, [fp, #-56]
	add	r3, r3, #12
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5075
	mov	r3, #1
	b	.L5083
.L5075:
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-36]
	ldr	r2, [fp, #-32]
	mov	r0, r3
	bl	JimRangeLen
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	bne	.L5078
	mvn	r2, #0
	ldr	r1, .L5085+8
	ldr	r0, [fp, #-48]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5079
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L5079:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L5083
.L5078:
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-48]
	bl	Jim_NewListObj
	str	r0, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L5080
.L5081:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-28]
	mul	r2, r3, r2
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ListAppendElement
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L5080:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L5081
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5082
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	Jim_FreeObj
.L5082:
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L5083:
	ldr	r2, .L5085
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5084
	bl	__stack_chk_fail
.L5084:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5086:
	.align	2
.L5085:
	.word	.LC616
	.word	.LC614
	.word	.LC615
	.size	Jim_RangeCoreCommand, .-Jim_RangeCoreCommand
	.section	.rodata
	.align	2
.LC617:
	.ascii	"?min? max\000"
	.align	2
.LC618:
	.ascii	"Invalid arguments (max < min)\000"
	.align	2
.LC619:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RandCoreCommand, %function
Jim_RandCoreCommand:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L5107
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	ble	.L5088
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	ble	.L5089
.L5088:
	ldr	r3, .L5107+4
	ldr	r2, [fp, #-48]
	mov	r1, #1
	ldr	r0, [fp, #-40]
	bl	Jim_WrongNumArgs
	mov	r3, #1
	b	.L5105
.L5089:
	ldr	r3, [fp, #-44]
	cmp	r3, #1
	bne	.L5091
	mvn	r3, #-2147483648
	str	r3, [fp, #-32]
	b	.L5092
.L5091:
	ldr	r3, [fp, #-44]
	cmp	r3, #2
	bne	.L5093
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5092
	mov	r3, #1
	b	.L5105
.L5093:
	ldr	r3, [fp, #-44]
	cmp	r3, #3
	bne	.L5092
	ldr	r3, [fp, #-48]
	add	r3, r3, #4
	ldr	r3, [r3]
	sub	r2, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L5094
	ldr	r3, [fp, #-48]
	add	r3, r3, #8
	ldr	r3, [r3]
	sub	r2, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5092
.L5094:
	mov	r3, #1
	b	.L5105
.L5092:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-36]
	sub	r3, r2, r3
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L5095
	mvn	r2, #0
	ldr	r1, .L5107+8
	ldr	r0, [fp, #-40]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5096
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L5096:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #1
	b	.L5105
.L5095:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L5097
	mvn	r3, #-2147483648
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	mov	r2, r3
	mvn	r3, #-2147483648
	sub	r3, r3, r2
	b	.L5098
.L5097:
	mvn	r3, #-2147483648
.L5098:
	str	r3, [fp, #-20]
.L5101:
	sub	r3, fp, #28
	mov	r2, #4
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	JimRandomBytes
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	blt	.L5101
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bgt	.L5100
	b	.L5101
.L5100:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L5102
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	b	.L5103
.L5102:
	mov	r3, #0
.L5103:
	str	r3, [fp, #-28]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_NewIntObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5104
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_FreeObj
.L5104:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L5105:
	ldr	r2, .L5107
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5106
	bl	__stack_chk_fail
.L5106:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5108:
	.align	2
.L5107:
	.word	.LC619
	.word	.LC617
	.word	.LC618
	.size	Jim_RandCoreCommand, .-Jim_RandCoreCommand
	.section	.rodata
	.align	2
.LC620:
	.ascii	"alias\000"
	.align	2
.LC621:
	.ascii	"while\000"
	.align	2
.LC622:
	.ascii	"loop\000"
	.align	2
.LC623:
	.ascii	"for\000"
	.align	2
.LC624:
	.ascii	"foreach\000"
	.align	2
.LC625:
	.ascii	"lmap\000"
	.align	2
.LC626:
	.ascii	"lassign\000"
	.align	2
.LC627:
	.ascii	"if\000"
	.align	2
.LC628:
	.ascii	"lindex\000"
	.align	2
.LC629:
	.ascii	"lset\000"
	.align	2
.LC630:
	.ascii	"lsearch\000"
	.align	2
.LC631:
	.ascii	"llength\000"
	.align	2
.LC632:
	.ascii	"lappend\000"
	.align	2
.LC633:
	.ascii	"linsert\000"
	.align	2
.LC634:
	.ascii	"lreplace\000"
	.align	2
.LC635:
	.ascii	"lsort\000"
	.align	2
.LC636:
	.ascii	"append\000"
	.align	2
.LC637:
	.ascii	"debug\000"
	.align	2
.LC638:
	.ascii	"uplevel\000"
	.align	2
.LC639:
	.ascii	"expr\000"
	.align	2
.LC640:
	.ascii	"proc\000"
	.align	2
.LC641:
	.ascii	"concat\000"
	.align	2
.LC642:
	.ascii	"upvar\000"
	.align	2
.LC643:
	.ascii	"global\000"
	.align	2
.LC644:
	.ascii	"time\000"
	.align	2
.LC645:
	.ascii	"catch\000"
	.align	2
.LC646:
	.ascii	"ref\000"
	.align	2
.LC647:
	.ascii	"getref\000"
	.align	2
.LC648:
	.ascii	"setref\000"
	.align	2
.LC649:
	.ascii	"finalize\000"
	.align	2
.LC650:
	.ascii	"collect\000"
	.align	2
.LC651:
	.ascii	"subst\000"
	.align	2
.LC652:
	.ascii	"info\000"
	.align	2
.LC653:
	.ascii	"split\000"
	.align	2
.LC654:
	.ascii	"scan\000"
	.align	2
.LC655:
	.ascii	"lrange\000"
	.align	2
.LC656:
	.ascii	"lrepeat\000"
	.align	2
.LC657:
	.ascii	"lreverse\000"
	.align	2
.LC658:
	.ascii	"range\000"
	.align	2
.LC659:
	.ascii	"tailcall\000"
	.align	2
.LC660:
	.ascii	"local\000"
	.align	2
.LC661:
	.ascii	"upcall\000"
	.align	2
.LC662:
	.ascii	"apply\000"
	.align	2
	.type	Jim_CoreCommandsTable, %object
	.size	Jim_CoreCommandsTable, 552
Jim_CoreCommandsTable:
	.word	.LC620
	.word	Jim_AliasCoreCommand
	.word	.LC223
	.word	Jim_SetCoreCommand
	.word	.LC225
	.word	Jim_UnsetCoreCommand
	.word	.LC45
	.word	Jim_PutsCoreCommand
	.word	.LC388
	.word	Jim_AddCoreCommand
	.word	.LC214
	.word	Jim_MulCoreCommand
	.word	.LC387
	.word	Jim_SubCoreCommand
	.word	.LC68
	.word	Jim_DivCoreCommand
	.word	.LC469
	.word	Jim_IncrCoreCommand
	.word	.LC621
	.word	Jim_WhileCoreCommand
	.word	.LC622
	.word	Jim_LoopCoreCommand
	.word	.LC623
	.word	Jim_ForCoreCommand
	.word	.LC624
	.word	Jim_ForeachCoreCommand
	.word	.LC625
	.word	Jim_LmapCoreCommand
	.word	.LC626
	.word	Jim_LassignCoreCommand
	.word	.LC627
	.word	Jim_IfCoreCommand
	.word	.LC83
	.word	Jim_SwitchCoreCommand
	.word	.LC341
	.word	Jim_ListCoreCommand
	.word	.LC628
	.word	Jim_LindexCoreCommand
	.word	.LC629
	.word	Jim_LsetCoreCommand
	.word	.LC630
	.word	Jim_LsearchCoreCommand
	.word	.LC631
	.word	Jim_LlengthCoreCommand
	.word	.LC632
	.word	Jim_LappendCoreCommand
	.word	.LC633
	.word	Jim_LinsertCoreCommand
	.word	.LC634
	.word	Jim_LreplaceCoreCommand
	.word	.LC635
	.word	Jim_LsortCoreCommand
	.word	.LC636
	.word	Jim_AppendCoreCommand
	.word	.LC637
	.word	Jim_DebugCoreCommand
	.word	.LC373
	.word	Jim_EvalCoreCommand
	.word	.LC638
	.word	Jim_UplevelCoreCommand
	.word	.LC639
	.word	Jim_ExprCoreCommand
	.word	.LC369
	.word	Jim_BreakCoreCommand
	.word	.LC370
	.word	Jim_ContinueCoreCommand
	.word	.LC640
	.word	Jim_ProcCoreCommand
	.word	.LC641
	.word	Jim_ConcatCoreCommand
	.word	.LC368
	.word	Jim_ReturnCoreCommand
	.word	.LC642
	.word	Jim_UpvarCoreCommand
	.word	.LC643
	.word	Jim_GlobalCoreCommand
	.word	.LC240
	.word	Jim_StringCoreCommand
	.word	.LC644
	.word	Jim_TimeCoreCommand
	.word	.LC372
	.word	Jim_ExitCoreCommand
	.word	.LC645
	.word	Jim_CatchCoreCommand
	.word	.LC646
	.word	Jim_RefCoreCommand
	.word	.LC647
	.word	Jim_GetrefCoreCommand
	.word	.LC648
	.word	Jim_SetrefCoreCommand
	.word	.LC649
	.word	Jim_FinalizeCoreCommand
	.word	.LC650
	.word	Jim_CollectCoreCommand
	.word	.LC154
	.word	Jim_RenameCoreCommand
	.word	.LC353
	.word	Jim_DictCoreCommand
	.word	.LC651
	.word	Jim_SubstCoreCommand
	.word	.LC652
	.word	Jim_InfoCoreCommand
	.word	.LC147
	.word	Jim_ExistsCoreCommand
	.word	.LC653
	.word	Jim_SplitCoreCommand
	.word	.LC142
	.word	Jim_JoinCoreCommand
	.word	.LC211
	.word	Jim_FormatCoreCommand
	.word	.LC654
	.word	Jim_ScanCoreCommand
	.word	.LC367
	.word	Jim_ErrorCoreCommand
	.word	.LC655
	.word	Jim_LrangeCoreCommand
	.word	.LC656
	.word	Jim_LrepeatCoreCommand
	.word	.LC167
	.word	Jim_EnvCoreCommand
	.word	.LC258
	.word	Jim_SourceCoreCommand
	.word	.LC657
	.word	Jim_LreverseCoreCommand
	.word	.LC658
	.word	Jim_RangeCoreCommand
	.word	.LC412
	.word	Jim_RandCoreCommand
	.word	.LC659
	.word	Jim_TailcallCoreCommand
	.word	.LC660
	.word	Jim_LocalCoreCommand
	.word	.LC661
	.word	Jim_UpcallCoreCommand
	.word	.LC662
	.word	Jim_ApplyCoreCommand
	.word	0
	.word	0
	.text
	.align	2
	.global	Jim_RegisterCoreCommands
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_RegisterCoreCommands, %function
Jim_RegisterCoreCommands:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L5110
.L5111:
	ldr	r2, .L5112
	ldr	r3, [fp, #-8]
	ldr	r1, [r2, r3, lsl #3]
	ldr	r2, .L5112
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r0, [fp, #-16]
	bl	Jim_CreateCommand
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L5110:
	ldr	r2, .L5112
	ldr	r3, [fp, #-8]
	ldr	r3, [r2, r3, lsl #3]
	cmp	r3, #0
	bne	.L5111
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5113:
	.align	2
.L5112:
	.word	Jim_CoreCommandsTable
	.size	Jim_RegisterCoreCommands, .-Jim_RegisterCoreCommands
	.section	.rodata
	.align	2
.LC663:
	.ascii	"errorInfo\000"
	.align	2
.LC664:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_MakeErrorMessage
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_MakeErrorMessage, %function
Jim_MakeErrorMessage:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L5116
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r2, #0
	ldr	r1, .L5116+4
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	sub	r3, fp, #16
	mov	r2, r3
	mov	r1, #2
	ldr	r0, [fp, #-24]
	bl	Jim_EvalObjVector
	nop
	ldr	r3, .L5116
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L5115
	bl	__stack_chk_fail
.L5115:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5117:
	.align	2
.L5116:
	.word	.LC664
	.word	.LC663
	.size	Jim_MakeErrorMessage, .-Jim_MakeErrorMessage
	.section	.rodata
	.align	2
.LC665:
	.ascii	"option\000"
	.align	2
.LC666:
	.ascii	"%s%s \"%s\": must be \000"
	.align	2
.LC667:
	.ascii	"or \000"
	.align	2
.LC668:
	.ascii	", \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetFailedEnumResult, %function
JimSetFailedEnumResult:
	@ args = 8, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L5119
.L5120:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L5119:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5120
	ldr	r3, [fp, #8]
	cmp	r3, #0
	bne	.L5121
	ldr	r3, .L5126
	str	r3, [fp, #8]
.L5121:
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	ldr	r3, [fp, #8]
	ldr	r2, [fp, #-32]
	ldr	r1, .L5126+4
	ldr	r0, [fp, #-24]
	bl	Jim_SetResultFormatted
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r1, [fp, #4]
	ldr	r0, [fp, #-8]
	bl	memcpy
	ldr	r1, [fp, #-16]
	ldr	r3, .L5126+8
	mov	r2, #4
	ldr	r0, [fp, #-8]
	bl	qsort
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L5122
.L5125:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bne	.L5123
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	ble	.L5123
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	mvn	r3, #0
	ldr	r2, .L5126+12
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
.L5123:
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	Jim_AppendStrings
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	beq	.L5124
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	mvn	r3, #0
	ldr	r2, .L5126+16
	ldr	r0, [fp, #-24]
	bl	Jim_AppendString
.L5124:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L5122:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L5125
	ldr	r0, [fp, #-8]
	bl	Jim_Free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5127:
	.align	2
.L5126:
	.word	.LC665
	.word	.LC666
	.word	qsortCompareStringPointers
	.word	.LC667
	.word	.LC668
	.size	JimSetFailedEnumResult, .-JimSetFailedEnumResult
	.section	.rodata
	.align	2
.LC669:
	.ascii	"bad \000"
	.align	2
.LC670:
	.ascii	"ambiguous \000"
	.align	2
.LC671:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_GetEnum
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_GetEnum, %function
Jim_GetEnum:
	@ args = 8, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-56]
	ldr	r3, .L5143
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L5143+4
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mvn	r3, #0
	str	r3, [fp, #-16]
	sub	r3, fp, #32
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	Jim_GetString
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-52]
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L5129
.L5137:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L5130
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	mov	r3, #0
	b	.L5139
.L5130:
	ldr	r3, [fp, #8]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L5132
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5132
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L5133
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	beq	.L5141
.L5133:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L5135
	ldr	r3, .L5143+8
	str	r3, [fp, #-28]
	b	.L5136
.L5135:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-16]
.L5132:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L5129:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5137
	b	.L5134
.L5141:
	nop
.L5134:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L5142
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
	b	.L5139
.L5142:
	nop
.L5136:
	ldr	r3, [fp, #8]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L5138
	ldr	r3, [fp, #-56]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-48]
	str	r3, [sp]
	ldr	r3, .L5143+12
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-40]
	bl	JimSetFailedEnumResult
.L5138:
	mov	r3, #1
.L5139:
	ldr	r2, .L5143
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5140
	bl	__stack_chk_fail
.L5140:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5144:
	.align	2
.L5143:
	.word	.LC671
	.word	.LC669
	.word	.LC670
	.word	.LC86
	.size	Jim_GetEnum, .-Jim_GetEnum
	.align	2
	.global	Jim_FindByName
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FindByName, %function
Jim_FindByName:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L5146
.L5149:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L5147
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-16]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5147
	ldr	r3, [fp, #-8]
	b	.L5148
.L5147:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L5146:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L5149
	mvn	r3, #0
.L5148:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_FindByName, .-Jim_FindByName
	.align	2
	.global	Jim_IsDict
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_IsDict, %function
Jim_IsDict:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, .L5152
	cmp	r3, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5153:
	.align	2
.L5152:
	.word	dictObjType
	.size	Jim_IsDict, .-Jim_IsDict
	.align	2
	.global	Jim_IsList
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_IsList, %function
Jim_IsList:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, .L5156
	cmp	r3, r2
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5157:
	.align	2
.L5156:
	.word	listObjType
	.size	Jim_IsList, .-Jim_IsList
	.section	.rodata
	.align	2
.LC672:
	.ascii	"%s\000"
	.align	2
.LC673:
	.ascii	"%#s\000"
	.align	2
.LC674:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_SetResultFormatted
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SetResultFormatted, %function
Jim_SetResultFormatted:
	@ args = 4, pretend = 12, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #92
	str	r0, [fp, #-76]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-80]
	ldr	r3, .L5170
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	ldr	r0, [fp, #-80]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-56]
	add	r3, fp, #8
	str	r3, [fp, #-68]
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L5159
.L5166:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	mov	r2, #2
	ldr	r1, .L5170+4
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5160
	ldr	r3, [fp, #-68]
	add	r2, r3, #4
	str	r2, [fp, #-68]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	sub	r1, fp, #8
	add	r3, r1, r3
	str	r2, [r3, #-24]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	sub	r2, fp, #8
	add	r3, r2, r3
	ldr	r3, [r3, #-24]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-64]
	b	.L5161
.L5160:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	mov	r2, #3
	ldr	r1, .L5170+8
	mov	r0, r3
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5162
	ldr	r3, [fp, #-68]
	add	r2, r3, #4
	str	r2, [fp, #-68]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	sub	r3, fp, #64
	mov	r1, r3
	ldr	r0, [fp, #-44]
	bl	Jim_GetString
	mov	r2, r0
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	sub	r1, fp, #8
	add	r3, r1, r3
	str	r2, [r3, #-24]
	b	.L5161
.L5162:
	ldr	r3, [fp, #-52]
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #37
	bne	.L5169
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L5164
.L5161:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-60]
	b	.L5164
.L5169:
	nop
.L5164:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
.L5159:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L5165
	ldr	r3, [fp, #-56]
	cmp	r3, #4
	ble	.L5166
.L5165:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	r0, r3
	bl	Jim_Alloc
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	mov	lr, r3
	ldr	ip, [fp, #-32]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	str	r0, [sp, #12]
	str	r1, [sp, #8]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, ip
	ldr	r2, [fp, #-80]
	mov	r1, lr
	ldr	r0, [fp, #-40]
	bl	snprintf
	str	r0, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-76]
	bl	Jim_NewStringObjNoAlloc
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-36]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5167
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-76]
	bl	Jim_FreeObj
.L5167:
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-36]
	str	r2, [r3]
	nop
	ldr	r3, .L5170
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L5168
	bl	__stack_chk_fail
.L5168:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #12
	bx	lr
.L5171:
	.align	2
.L5170:
	.word	.LC674
	.word	.LC672
	.word	.LC673
	.size	Jim_SetResultFormatted, .-Jim_SetResultFormatted
	.align	2
	.global	Jim_PackageProvide
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_PackageProvide, %function
Jim_PackageProvide:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_PackageProvide, .-Jim_PackageProvide
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	subcmd_null, %function
subcmd_null:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	subcmd_null, .-subcmd_null
	.section	.rodata
	.align	2
.LC675:
	.ascii	"dummy\000"
	.align	2
	.type	dummy_subcmd, %object
	.size	dummy_subcmd, 20
dummy_subcmd:
	.word	.LC675
	.word	0
	.word	subcmd_null
	.short	0
	.short	0
	.short	1
	.space	2
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_commands, %function
add_commands:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L5180
	str	r3, [fp, #-8]
	b	.L5177
.L5179:
	ldr	r3, [fp, #-20]
	ldrh	r3, [r3, #16]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L5178
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_AppendStrings
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-8]
.L5178:
	ldr	r3, [fp, #-20]
	add	r3, r3, #20
	str	r3, [fp, #-20]
.L5177:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5179
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5181:
	.align	2
.L5180:
	.word	.LC86
	.size	add_commands, .-add_commands
	.section	.rodata
	.align	2
.LC676:
	.ascii	"\": should be \000"
	.align	2
.LC677:
	.ascii	" command \"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	bad_subcmd, %function
bad_subcmd:
	@ args = 4, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #48
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r2, #0
	ldr	r1, .L5184
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5183
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L5183:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r4, [r3]
	ldr	r0, [fp, #-36]
	bl	Jim_String
	mov	r5, r0
	ldr	r0, [fp, #4]
	bl	Jim_String
	mov	r3, r0
	mov	r2, #0
	str	r2, [sp, #16]
	ldr	r2, .L5184+4
	str	r2, [sp, #12]
	str	r3, [sp, #8]
	ldr	r3, .L5184+8
	str	r3, [sp, #4]
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r3, .L5184+12
	mov	r2, r5
	mov	r1, r4
	ldr	r0, [fp, #-24]
	bl	Jim_AppendStrings
	ldr	r2, .L5184+12
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	add_commands
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L5185:
	.align	2
.L5184:
	.word	.LC86
	.word	.LC676
	.word	.LC677
	.word	.LC668
	.size	bad_subcmd, .-bad_subcmd
	.section	.rodata
	.align	2
.LC678:
	.ascii	"Usage: \"\000"
	.align	2
.LC679:
	.ascii	" command ... \", where command is one of: \000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_cmd_usage, %function
show_cmd_usage:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r2, #0
	ldr	r1, .L5188
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5187
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_FreeObj
.L5187:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r4, [r3]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r2, #0
	str	r2, [sp, #4]
	ldr	r2, .L5188+4
	str	r2, [sp]
	ldr	r2, .L5188+8
	mov	r1, r4
	ldr	r0, [fp, #-24]
	bl	Jim_AppendStrings
	ldr	r2, .L5188+12
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	add_commands
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L5189:
	.align	2
.L5188:
	.word	.LC86
	.word	.LC679
	.word	.LC678
	.word	.LC668
	.size	show_cmd_usage, .-show_cmd_usage
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	add_cmd_usage, %function
add_cmd_usage:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L5191
	ldr	r3, [fp, #-16]
	ldr	r4, [r3]
	ldr	r0, [fp, #-24]
	bl	Jim_String
	mov	r2, r0
	mov	r3, #0
	str	r3, [sp]
	ldr	r3, .L5194
	mov	r1, r4
	ldr	r0, [fp, #-16]
	bl	Jim_AppendStrings
.L5191:
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	mov	r3, #0
	ldr	r0, [fp, #-16]
	bl	Jim_AppendStrings
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L5193
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5193
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	mov	r2, #0
	str	r2, [sp]
	ldr	r2, .L5194
	ldr	r0, [fp, #-16]
	bl	Jim_AppendStrings
.L5193:
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L5195:
	.align	2
.L5194:
	.word	.LC448
	.size	add_cmd_usage, .-add_cmd_usage
	.section	.rodata
	.align	2
.LC680:
	.ascii	"wrong # args: should be \"\000"
	.align	2
.LC681:
	.ascii	"\"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	set_wrong_args, %function
set_wrong_args:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	mvn	r2, #0
	ldr	r1, .L5198
	ldr	r0, [fp, #-16]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5197
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	Jim_FreeObj
.L5197:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	add_cmd_usage
	ldr	r3, [fp, #-16]
	ldr	r1, [r3]
	mov	r3, #0
	ldr	r2, .L5198+4
	ldr	r0, [fp, #-16]
	bl	Jim_AppendStrings
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5199:
	.align	2
.L5198:
	.word	.LC680
	.word	.LC681
	.size	set_wrong_args, .-set_wrong_args
	.section	.rodata
	.align	2
.LC682:
	.ascii	" command ...\"\012\000"
	.align	2
.LC683:
	.ascii	"Use \"\000"
	.align	2
.LC684:
	.ascii	" -help ?command?\" for help\000"
	.align	2
.LC685:
	.ascii	"-help\000"
	.align	2
.LC686:
	.ascii	"-commands\000"
	.align	2
.LC687:
	.ascii	"ambiguous\000"
	.align	2
.LC688:
	.ascii	"Usage: \000"
	.align	2
.LC689:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_ParseSubCmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_ParseSubCmd, %function
Jim_ParseSubCmd:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, .L5226
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-64]
	cmp	r3, #1
	bgt	.L5201
	mov	r2, #0
	ldr	r1, .L5226+4
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-12]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5202
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L5202:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, .L5226+8
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, .L5226+12
	ldr	r0, [fp, #-56]
	bl	Jim_AppendStrings
	ldr	r3, [fp, #-56]
	ldr	r1, [r3]
	mov	r3, #0
	str	r3, [sp, #4]
	ldr	r3, .L5226+16
	str	r3, [sp]
	ldr	r3, [fp, #-32]
	ldr	r2, .L5226+20
	ldr	r0, [fp, #-56]
	bl	Jim_AppendStrings
	mov	r3, #0
	b	.L5223
.L5201:
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
	ldr	r2, .L5226+24
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L5204
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	bne	.L5205
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	show_cmd_usage
	ldr	r3, .L5226+28
	b	.L5223
.L5205:
	mov	r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-40]
.L5204:
	ldr	r2, .L5226+32
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	beq	.L5206
	mov	r2, #0
	ldr	r1, .L5226+4
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5207
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L5207:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r2, .L5226+36
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	add_commands
	ldr	r3, .L5226+28
	b	.L5223
.L5206:
	sub	r3, fp, #52
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	Jim_GetString
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-48]
	b	.L5208
.L5214:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	Jim_CompareStringImmediate
	mov	r3, r0
	cmp	r3, #0
	bne	.L5225
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	ldr	r2, [fp, #-52]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5211
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L5212
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5213
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	show_cmd_usage
	ldr	r3, .L5226+28
	b	.L5223
.L5213:
	ldr	r3, [fp, #-68]
	ldr	r1, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, .L5226+40
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	bad_subcmd
	mov	r3, #0
	b	.L5223
.L5212:
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
.L5211:
	ldr	r3, [fp, #-48]
	add	r3, r3, #20
	str	r3, [fp, #-48]
.L5208:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5214
	b	.L5210
.L5225:
	nop
.L5210:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L5215
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5215
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-48]
.L5215:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5216
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5217
	ldr	r3, [fp, #-68]
	ldr	r2, [fp, #-64]
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	show_cmd_usage
	ldr	r3, .L5226+28
	b	.L5223
.L5217:
	ldr	r3, [fp, #-68]
	ldr	r1, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, r1
	ldr	r2, .L5226+44
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-56]
	bl	bad_subcmd
	mov	r3, #0
	b	.L5223
.L5216:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5218
	mvn	r2, #0
	ldr	r1, .L5226+48
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-20]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5219
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L5219:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-56]
	bl	add_cmd_usage
	ldr	r3, .L5226+28
	b	.L5223
.L5218:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	ldr	r2, [fp, #-48]
	ldrsh	r2, [r2, #12]
	cmp	r3, r2
	ble	.L5220
	ldr	r3, [fp, #-48]
	ldrsh	r3, [r3, #14]
	cmp	r3, #0
	blt	.L5221
	ldr	r3, [fp, #-64]
	sub	r3, r3, #2
	ldr	r2, [fp, #-48]
	ldrsh	r2, [r2, #14]
	cmp	r3, r2
	ble	.L5221
.L5220:
	mvn	r2, #0
	ldr	r1, .L5226+12
	ldr	r0, [fp, #-56]
	bl	Jim_NewStringObj
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-24]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5222
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	Jim_FreeObj
.L5222:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-56]
	bl	add_cmd_usage
	ldr	r3, [fp, #-56]
	ldr	r1, [r3]
	mov	r3, #0
	ldr	r2, .L5226+52
	ldr	r0, [fp, #-56]
	bl	Jim_AppendStrings
	mov	r3, #0
	b	.L5223
.L5221:
	ldr	r3, [fp, #-48]
.L5223:
	ldr	r2, .L5226
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5224
	bl	__stack_chk_fail
.L5224:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5227:
	.align	2
.L5226:
	.word	.LC689
	.word	.LC86
	.word	.LC682
	.word	.LC680
	.word	.LC684
	.word	.LC683
	.word	.LC685
	.word	dummy_subcmd
	.word	.LC686
	.word	.LC448
	.word	.LC687
	.word	.LC98
	.word	.LC688
	.word	.LC681
	.size	Jim_ParseSubCmd, .-Jim_ParseSubCmd
	.align	2
	.global	Jim_CallSubCmd
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_CallSubCmd, %function
Jim_CallSubCmd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L5229
	ldr	r3, [fp, #-20]
	ldrh	r3, [r3, #16]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L5230
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	blx	r3
	str	r0, [fp, #-8]
	b	.L5231
.L5230:
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #8]
	ldr	r2, [fp, #-24]
	sub	r1, r2, #2
	ldr	r2, [fp, #-28]
	add	r2, r2, #8
	ldr	r0, [fp, #-16]
	blx	r3
	str	r0, [fp, #-8]
.L5231:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bge	.L5229
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	set_wrong_args
	mov	r3, #1
	str	r3, [fp, #-8]
.L5229:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_CallSubCmd, .-Jim_CallSubCmd
	.align	2
	.global	Jim_SubCmdProc
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_SubCmdProc, %function
Jim_SubCmdProc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #200]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	Jim_ParseSubCmd
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	Jim_CallSubCmd
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	Jim_SubCmdProc, .-Jim_SubCmdProc
	.align	2
	.global	utf8_fromunicode
	.syntax unified
	.arm
	.fpu softvfp
	.type	utf8_fromunicode, %function
utf8_fromunicode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #127
	bhi	.L5236
	ldr	r3, [fp, #-12]
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	mov	r3, #1
	b	.L5237
.L5236:
	ldr	r3, [fp, #-12]
	cmp	r3, #2048
	bcs	.L5238
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #31
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r1, r2, #1
	str	r1, [fp, #-8]
	mvn	r3, r3, lsl #26
	mvn	r3, r3, lsr #26
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	mov	r3, #2
	b	.L5237
.L5238:
	ldr	r3, [fp, #-12]
	cmp	r3, #65536
	bcs	.L5239
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	and	r3, r3, #255
	and	r3, r3, #15
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r1, r2, #1
	str	r1, [fp, #-8]
	mvn	r3, r3, lsl #27
	mvn	r3, r3, lsr #27
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r1, r2, #1
	str	r1, [fp, #-8]
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	mov	r3, #3
	b	.L5237
.L5239:
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #18
	and	r3, r3, #255
	and	r3, r3, #7
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r1, r2, #1
	str	r1, [fp, #-8]
	mvn	r3, r3, lsl #28
	mvn	r3, r3, lsr #28
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #12
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r1, r2, #1
	str	r1, [fp, #-8]
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #6
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	ldr	r2, [fp, #-8]
	add	r1, r2, #1
	str	r1, [fp, #-8]
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r3, r3, #255
	strb	r3, [r2]
	ldr	r3, [fp, #-12]
	and	r3, r3, #255
	and	r3, r3, #63
	and	r3, r3, #255
	mvn	r3, r3, lsl #25
	mvn	r3, r3, lsr #25
	and	r2, r3, #255
	ldr	r3, [fp, #-8]
	strb	r2, [r3]
	mov	r3, #4
.L5237:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	utf8_fromunicode, .-utf8_fromunicode
	.section	.rodata
	.align	2
.LC690:
	.ascii	"format string ended in middle of field specifier\000"
	.align	2
.LC691:
	.ascii	"%ld\000"
	.align	2
.LC692:
	.ascii	".%ld\000"
	.align	2
.LC693:
	.ascii	"bad field specifier \"%s\"\000"
	.align	2
.LC694:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_FormatString
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_FormatString, %function
Jim_FormatString:
	@ args = 0, pretend = 0, frame = 232
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #240
	str	r0, [fp, #-224]
	str	r1, [fp, #-228]
	str	r2, [fp, #-232]
	str	r3, [fp, #-236]
	ldr	r3, .L5328
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-172]
	mov	r3, #0
	str	r3, [fp, #-168]
	mov	r3, #0
	str	r3, [fp, #-164]
	mov	r3, #0
	str	r3, [fp, #-160]
	mov	r3, #0
	str	r3, [fp, #-156]
	mov	r3, #0
	str	r3, [fp, #-152]
	sub	r3, fp, #212
	mov	r1, r3
	ldr	r0, [fp, #-228]
	bl	Jim_GetString
	str	r0, [fp, #-180]
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-212]
	mov	r2, r3
	ldr	r3, [fp, #-180]
	add	r3, r3, r2
	str	r3, [fp, #-96]
	mov	r2, #0
	ldr	r1, .L5328+4
	ldr	r0, [fp, #-224]
	bl	Jim_NewStringObj
	str	r0, [fp, #-92]
	b	.L5241
.L5315:
	mov	r3, #32
	strb	r3, [fp, #-213]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-196]
	cmp	r3, #37
	beq	.L5242
	ldr	r2, [fp, #-172]
	ldr	r3, [fp, #-128]
	add	r3, r2, r3
	str	r3, [fp, #-172]
	b	.L5241
.L5242:
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L5244
	ldr	r3, [fp, #-172]
	ldr	r2, [fp, #-184]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-224]
	bl	Jim_AppendString
	mov	r3, #0
	str	r3, [fp, #-172]
.L5244:
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-196]
	cmp	r3, #37
	bne	.L5245
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-128]
	str	r3, [fp, #-172]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	b	.L5241
.L5245:
	mov	r3, #0
	str	r3, [fp, #-132]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L5246
	sub	r3, fp, #208
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-180]
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-208]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #36
	bne	.L5246
	mov	r3, #1
	str	r3, [fp, #-132]
	ldr	r3, [fp, #-88]
	sub	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-208]
	add	r3, r3, #1
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
.L5246:
	ldr	r3, [fp, #-132]
	cmp	r3, #0
	beq	.L5247
	ldr	r3, [fp, #-160]
	cmp	r3, #0
	beq	.L5248
	ldr	r3, .L5328+8
	ldr	r3, [r3]
	str	r3, [fp, #-176]
	b	.L5313
.L5248:
	mov	r3, #1
	str	r3, [fp, #-164]
	b	.L5250
.L5247:
	ldr	r3, [fp, #-164]
	cmp	r3, #0
	beq	.L5251
	ldr	r3, .L5328+8
	ldr	r3, [r3]
	str	r3, [fp, #-176]
	b	.L5313
.L5251:
	mov	r3, #1
	str	r3, [fp, #-160]
.L5250:
	ldr	r3, [fp, #-168]
	cmp	r3, #0
	blt	.L5252
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-232]
	cmp	r2, r3
	blt	.L5253
.L5252:
	ldr	r2, .L5328+12
	ldr	r3, [fp, #-164]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-176]
	b	.L5313
.L5253:
	sub	r3, fp, #68
	str	r3, [fp, #-120]
	ldr	r3, [fp, #-120]
	add	r2, r3, #1
	str	r2, [fp, #-120]
	mov	r2, #37
	strb	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-148]
	mov	r3, #1
	str	r3, [fp, #-144]
.L5261:
	ldr	r3, [fp, #-196]
	sub	r3, r3, #32
	cmp	r3, #16
	ldrls	pc, [pc, r3, asl #2]
	b	.L5254
.L5256:
	.word	.L5322
	.word	.L5254
	.word	.L5254
	.word	.L5322
	.word	.L5254
	.word	.L5254
	.word	.L5254
	.word	.L5254
	.word	.L5254
	.word	.L5254
	.word	.L5254
	.word	.L5322
	.word	.L5254
	.word	.L5257
	.word	.L5254
	.word	.L5254
	.word	.L5255
.L5257:
	mov	r3, #1
	str	r3, [fp, #-148]
	b	.L5259
.L5255:
	ldr	r3, [fp, #-196]
	and	r3, r3, #255
	strb	r3, [fp, #-213]
	b	.L5259
.L5254:
	mov	r3, #0
	str	r3, [fp, #-144]
	b	.L5260
.L5322:
	nop
.L5259:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-120]
	add	r1, r3, #1
	str	r1, [fp, #-120]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
.L5260:
	ldr	r3, [fp, #-144]
	cmp	r3, #0
	bne	.L5261
	mov	r3, #0
	str	r3, [fp, #-204]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L5262
	sub	r3, fp, #208
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-180]
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L5263
.L5262:
	ldr	r3, [fp, #-196]
	cmp	r3, #42
	bne	.L5263
	ldr	r3, [fp, #-232]
	sub	r3, r3, #1
	ldr	r2, [fp, #-168]
	cmp	r2, r3
	blt	.L5264
	ldr	r2, .L5328+12
	ldr	r3, [fp, #-164]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-176]
	b	.L5313
.L5264:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #204
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L5323
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	bge	.L5267
	ldr	r3, [fp, #-204]
	rsb	r3, r3, #0
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L5267
	ldr	r3, [fp, #-120]
	add	r2, r3, #1
	str	r2, [fp, #-120]
	mov	r2, #45
	strb	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-148]
.L5267:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
.L5263:
	mov	r3, #0
	str	r3, [fp, #-200]
	mov	r3, #0
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-196]
	cmp	r3, #46
	bne	.L5268
	mov	r3, #1
	str	r3, [fp, #-140]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
.L5268:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-196]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #2048
	cmp	r3, #0
	beq	.L5269
	sub	r3, fp, #208
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-180]
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L5270
.L5269:
	ldr	r3, [fp, #-196]
	cmp	r3, #42
	bne	.L5270
	ldr	r3, [fp, #-232]
	sub	r3, r3, #1
	ldr	r2, [fp, #-168]
	cmp	r2, r3
	blt	.L5271
	ldr	r2, .L5328+12
	ldr	r3, [fp, #-164]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-176]
	b	.L5313
.L5271:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #200
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_GetLong
	mov	r3, r0
	cmp	r3, #0
	bne	.L5324
	ldr	r3, [fp, #-200]
	cmp	r3, #0
	bge	.L5273
	mov	r3, #0
	str	r3, [fp, #-200]
.L5273:
	ldr	r3, [fp, #-168]
	add	r3, r3, #1
	str	r3, [fp, #-168]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
.L5270:
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-196]
	cmp	r3, #104
	bne	.L5274
	mov	r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
	b	.L5275
.L5274:
	ldr	r3, [fp, #-196]
	cmp	r3, #108
	bne	.L5275
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-196]
	cmp	r3, #108
	bne	.L5275
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-196]
	mov	r3, #1
	str	r3, [fp, #-128]
.L5275:
	ldr	r3, [fp, #-128]
	ldr	r2, [fp, #-180]
	add	r3, r2, r3
	str	r3, [fp, #-180]
	ldr	r3, [fp, #-180]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-196]
	cmp	r3, #105
	bne	.L5276
	mov	r3, #100
	str	r3, [fp, #-196]
.L5276:
	mov	r3, #0
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-196]
	cmp	r3, #0
	beq	.L5277
	cmp	r3, #0
	blt	.L5278
	cmp	r3, #120
	bgt	.L5278
	cmp	r3, #69
	blt	.L5278
	sub	r3, r3, #69
	cmp	r3, #51
	ldrls	pc, [pc, r3, asl #2]
	b	.L5278
.L5280:
	.word	.L5282
	.word	.L5278
	.word	.L5282
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5279
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5284
	.word	.L5283
	.word	.L5279
	.word	.L5282
	.word	.L5282
	.word	.L5282
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5279
	.word	.L5278
	.word	.L5278
	.word	.L5278
	.word	.L5281
	.word	.L5278
	.word	.L5279
	.word	.L5278
	.word	.L5278
	.word	.L5279
.L5277:
	ldr	r3, .L5328+16
	str	r3, [fp, #-176]
	b	.L5313
.L5281:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #192
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-112]
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_Utf8Length
	str	r0, [fp, #-116]
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L5325
	ldr	r3, [fp, #-200]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	ble	.L5325
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-200]
	str	r3, [fp, #-192]
	b	.L5325
.L5283:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #76
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5287
	nop
	b	.L5323
.L5287:
	ldr	r3, [fp, #-76]
	and	r3, r3, #255
	strb	r3, [fp, #-68]
	mov	r3, #1
	str	r3, [fp, #-192]
	sub	r3, fp, #68
	str	r3, [fp, #-112]
	mov	r3, #1
	str	r3, [fp, #-116]
	b	.L5286
.L5284:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #76
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	beq	.L5288
	nop
	b	.L5323
.L5288:
	mov	r3, #32
	str	r3, [fp, #-84]
	ldr	r2, [fp, #-84]
	ldr	r3, [fp, #-152]
	cmp	r2, r3
	blt	.L5289
	ldr	r3, [fp, #-84]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	ldr	r1, [fp, #-152]
	ldr	r0, [fp, #-156]
	bl	Jim_Realloc
	str	r0, [fp, #-156]
.L5289:
	mov	r3, #0
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-84]
	str	r3, [fp, #-108]
	b	.L5290
.L5293:
	ldr	r3, [fp, #-108]
	sub	r3, r3, #1
	str	r3, [fp, #-108]
	ldr	r2, [fp, #-76]
	ldr	r3, [fp, #-108]
	lsr	r3, r2, r3
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L5291
	ldr	r3, [fp, #-104]
	add	r2, r3, #1
	str	r2, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-156]
	add	r3, r3, r2
	mov	r2, #49
	strb	r2, [r3]
	b	.L5290
.L5291:
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L5292
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bne	.L5290
.L5292:
	ldr	r3, [fp, #-104]
	add	r2, r3, #1
	str	r2, [fp, #-104]
	mov	r2, r3
	ldr	r3, [fp, #-156]
	add	r3, r3, r2
	mov	r2, #48
	strb	r2, [r3]
.L5290:
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	bgt	.L5293
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-156]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-104]
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-112]
	b	.L5286
.L5282:
	mov	r3, #1
	str	r3, [fp, #-124]
.L5279:
	ldr	r3, [fp, #-204]
	cmp	r3, #0
	beq	.L5294
	ldr	r3, [fp, #-204]
	mov	r2, r3
	ldr	r1, .L5328+20
	ldr	r0, [fp, #-120]
	bl	sprintf
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	str	r3, [fp, #-120]
.L5294:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L5295
	ldr	r3, [fp, #-200]
	mov	r2, r3
	ldr	r1, .L5328+24
	ldr	r0, [fp, #-120]
	bl	sprintf
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-120]
	add	r3, r3, r2
	str	r3, [fp, #-120]
.L5295:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L5296
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #76
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_GetDouble
	mov	r3, r0
	cmp	r3, #0
	bne	.L5326
	mov	r3, #320
	str	r3, [fp, #-100]
	b	.L5299
.L5296:
	ldr	r3, [fp, #-168]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #188
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_GetWide
	mov	r3, r0
	cmp	r3, #0
	bne	.L5327
	mov	r3, #24
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-136]
	cmp	r3, #0
	beq	.L5301
	ldr	r3, [fp, #-196]
	cmp	r3, #100
	bne	.L5302
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #16
	asr	r3, r3, #16
	str	r3, [fp, #-188]
	b	.L5301
.L5302:
	ldr	r3, [fp, #-188]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	str	r3, [fp, #-188]
.L5301:
	ldr	r3, [fp, #-120]
	add	r2, r3, #1
	str	r2, [fp, #-120]
	mov	r2, #108
	strb	r2, [r3]
.L5299:
	ldr	r2, [fp, #-196]
	ldr	r3, [fp, #-120]
	add	r1, r3, #1
	str	r1, [fp, #-120]
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-120]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	bge	.L5303
	ldr	r3, [fp, #-204]
	str	r3, [fp, #-100]
.L5303:
	ldr	r3, [fp, #-140]
	cmp	r3, #0
	beq	.L5304
	ldr	r3, [fp, #-200]
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	str	r3, [fp, #-100]
.L5304:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-152]
	cmp	r2, r3
	blt	.L5305
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-152]
	ldr	r1, [fp, #-152]
	ldr	r0, [fp, #-156]
	bl	Jim_Realloc
	str	r0, [fp, #-156]
.L5305:
	ldr	r3, [fp, #-124]
	cmp	r3, #0
	beq	.L5306
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	mov	r0, r3
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	stm	sp, {r2-r3}
	mov	r2, r1
	mov	r1, r0
	ldr	r0, [fp, #-156]
	bl	snprintf
	b	.L5307
.L5306:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-188]
	sub	r2, fp, #68
	ldr	r0, [fp, #-156]
	bl	snprintf
	mov	r3, r0
	str	r3, [fp, #-192]
.L5307:
	ldr	r0, [fp, #-156]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-192]
	ldr	r3, [fp, #-192]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-156]
	str	r3, [fp, #-112]
	b	.L5286
.L5327:
	nop
	b	.L5323
.L5278:
	ldr	r3, [fp, #-196]
	and	r3, r3, #255
	strb	r3, [fp, #-68]
	mov	r3, #0
	strb	r3, [fp, #-67]
	sub	r3, fp, #68
	mov	r2, r3
	ldr	r1, .L5328+28
	ldr	r0, [fp, #-224]
	bl	Jim_SetResultFormatted
	b	.L5314
.L5325:
	nop
.L5286:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L5308
	b	.L5309
.L5310:
	sub	r2, fp, #213
	mov	r3, #1
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-224]
	bl	Jim_AppendString
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L5309:
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	blt	.L5310
.L5308:
	ldr	r3, [fp, #-192]
	ldr	r2, [fp, #-112]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-224]
	bl	Jim_AppendString
	b	.L5311
.L5312:
	sub	r2, fp, #213
	mov	r3, #1
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-224]
	bl	Jim_AppendString
	ldr	r3, [fp, #-116]
	add	r3, r3, #1
	str	r3, [fp, #-116]
.L5311:
	ldr	r3, [fp, #-204]
	ldr	r2, [fp, #-116]
	cmp	r2, r3
	blt	.L5312
	ldr	r2, [fp, #-168]
	ldr	r3, [fp, #-160]
	add	r3, r2, r3
	str	r3, [fp, #-168]
.L5241:
	ldr	r2, [fp, #-180]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	bne	.L5315
	ldr	r3, [fp, #-172]
	cmp	r3, #0
	beq	.L5316
	ldr	r3, [fp, #-172]
	ldr	r2, [fp, #-184]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-224]
	bl	Jim_AppendString
.L5316:
	ldr	r0, [fp, #-156]
	bl	Jim_Free
	ldr	r3, [fp, #-92]
	b	.L5319
.L5313:
	mvn	r2, #0
	ldr	r1, [fp, #-176]
	ldr	r0, [fp, #-224]
	bl	Jim_NewStringObj
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-80]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-80]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-224]
	ldr	r3, [r3]
	ldr	r2, [r3, #8]
	sub	r2, r2, #1
	str	r2, [r3, #8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5318
	ldr	r3, [fp, #-224]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-224]
	bl	Jim_FreeObj
.L5318:
	ldr	r3, [fp, #-224]
	ldr	r2, [fp, #-80]
	str	r2, [r3]
	b	.L5314
.L5323:
	nop
	b	.L5314
.L5324:
	nop
	b	.L5314
.L5326:
	nop
.L5314:
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-224]
	bl	Jim_FreeObj
	ldr	r0, [fp, #-156]
	bl	Jim_Free
	mov	r3, #0
.L5319:
	ldr	r2, .L5328
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5320
	bl	__stack_chk_fail
.L5320:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5329:
	.align	2
.L5328:
	.word	.LC694
	.word	.LC86
	.word	mixedXPG.16933
	.word	badIndex.16934
	.word	.LC690
	.word	.LC691
	.word	.LC692
	.word	.LC693
	.size	Jim_FormatString, .-Jim_FormatString
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	str_int_len, %function
str_int_len:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L5331
.L5332:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L5331:
	ldr	r3, [fp, #-16]
	add	r2, r3, #4
	str	r2, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5332
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	str_int_len, .-str_int_len
	.section	.rodata
	.align	2
.LC695:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	regcomp
	.syntax unified
	.arm
	.fpu softvfp
	.type	regcomp, %function
regcomp:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L5348
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r2, #68
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	memset
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L5335
	ldr	r3, [fp, #-40]
	mov	r2, #3
	str	r2, [r3, #8]
	mov	r3, #3
	b	.L5346
.L5335:
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-48]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #32]
	ldr	r0, [fp, #-44]
	bl	strlen
	mov	r3, r0
	add	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #40]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #28]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	bne	.L5337
	ldr	r3, [fp, #-40]
	mov	r2, #6
	str	r2, [r3, #8]
	mov	r3, #6
	b	.L5346
.L5337:
	ldr	r1, .L5348+4
	ldr	r0, [fp, #-40]
	bl	regc
	sub	r3, fp, #36
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-40]
	bl	reg
	mov	r3, r0
	cmp	r3, #0
	bne	.L5338
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	b	.L5346
.L5338:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	cmp	r3, #99
	ble	.L5339
	ldr	r3, [fp, #-40]
	mov	r2, #5
	str	r2, [r3, #8]
	mov	r3, #5
	b	.L5346
.L5339:
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #12]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r3, [fp, #-40]
	mov	r2, #0
	str	r2, [r3, #24]
	mov	r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r4, [r3, #28]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-40]
	bl	regnext
	mov	r3, r0
	lsl	r3, r3, #2
	add	r3, r4, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5340
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #8
	bne	.L5341
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	str	r2, [r3, #12]
	b	.L5342
.L5341:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L5342
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #16]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #16]
.L5342:
	ldr	r3, [fp, #-36]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L5340
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L5343
.L5345:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #8
	bne	.L5344
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r0, r3
	bl	str_int_len
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bhi	.L5344
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
.L5344:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-40]
	bl	regnext
	str	r0, [fp, #-32]
.L5343:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L5345
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #20]
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	str	r2, [r3, #24]
.L5340:
	mov	r3, #0
.L5346:
	ldr	r2, .L5348
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5347
	bl	__stack_chk_fail
.L5347:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L5349:
	.align	2
.L5348:
	.word	.LC695
	.word	-86061043
	.size	regcomp, .-regcomp
	.section	.rodata
	.align	2
.LC696:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg, %function
reg:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L5373
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-40]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5351
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L5352
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L5352
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	add	r2, r3, #2
	ldr	r3, [fp, #-32]
	str	r2, [r3, #32]
	mvn	r3, #0
	str	r3, [fp, #-16]
	b	.L5353
.L5352:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
.L5353:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1000
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	regnode
	str	r0, [fp, #-24]
	b	.L5354
.L5351:
	mov	r3, #0
	str	r3, [fp, #-24]
.L5354:
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	regbranch
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5355
	mov	r3, #0
	b	.L5371
.L5355:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L5357
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	regtail
	b	.L5358
.L5357:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
.L5358:
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L5359
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	bic	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3]
.L5359:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	and	r3, r3, #4
	orr	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3]
	b	.L5360
.L5363:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	str	r2, [r3, #32]
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	regbranch
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5361
	mov	r3, #0
	b	.L5371
.L5361:
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	regtail
	ldr	r3, [fp, #-28]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L5362
	ldr	r3, [fp, #-40]
	ldr	r3, [r3]
	bic	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3]
.L5362:
	ldr	r3, [fp, #-40]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	and	r3, r3, #4
	orr	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3]
.L5360:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	beq	.L5363
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5364
	ldr	r3, [fp, #-16]
	add	r3, r3, #2000
	add	r3, r3, #1
	b	.L5365
.L5364:
	mov	r3, #0
.L5365:
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	regnode
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	regtail
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	b	.L5366
.L5367:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	regoptail
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	regnext
	str	r0, [fp, #-20]
.L5366:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5367
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5368
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-32]
	str	r1, [r2, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	beq	.L5368
	ldr	r3, [fp, #-32]
	mov	r2, #8
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5371
.L5368:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L5369
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5369
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	bne	.L5370
	ldr	r3, [fp, #-32]
	mov	r2, #8
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5371
.L5370:
	ldr	r3, [fp, #-32]
	mov	r2, #11
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5371
.L5369:
	ldr	r3, [fp, #-24]
.L5371:
	ldr	r2, .L5373
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5372
	bl	__stack_chk_fail
.L5372:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5374:
	.align	2
.L5373:
	.word	.LC696
	.size	reg, .-reg
	.section	.rodata
	.align	2
.LC697:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regbranch, %function
regbranch:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L5386
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3]
	mov	r1, #6
	ldr	r0, [fp, #-32]
	bl	regnode
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L5376
.L5382:
	sub	r3, fp, #24
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	regpiece
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L5377
	mov	r3, #0
	b	.L5384
.L5377:
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	orr	r2, r2, r3
	ldr	r3, [fp, #-36]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5379
	ldr	r3, [fp, #-36]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	and	r3, r3, #4
	orr	r2, r2, r3
	ldr	r3, [fp, #-36]
	str	r2, [r3]
	b	.L5380
.L5379:
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	regtail
.L5380:
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-20]
.L5376:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5381
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #41
	beq	.L5381
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #124
	bne	.L5382
.L5381:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5383
	mov	r1, #9
	ldr	r0, [fp, #-32]
	bl	regnode
.L5383:
	ldr	r3, [fp, #-16]
.L5384:
	ldr	r2, .L5386
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5385
	bl	__stack_chk_fail
.L5385:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5387:
	.align	2
.L5386:
	.word	.LC697
	.size	regbranch, .-regbranch
	.section	.rodata
	.align	2
.LC698:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regpiece, %function
regpiece:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L5418
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #36
	mov	r1, r3
	ldr	r0, [fp, #-48]
	bl	regatom
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L5389
	mov	r3, #0
	b	.L5416
.L5389:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]
	strb	r3, [fp, #-37]
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L5391
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L5391
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #63
	beq	.L5391
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #123
	beq	.L5391
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	b	.L5416
.L5391:
	ldr	r3, [fp, #-36]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L5392
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #63
	beq	.L5392
	ldr	r3, [fp, #-48]
	mov	r2, #12
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5416
.L5392:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L5393
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r3, r3, #1
	sub	r1, fp, #32
	mov	r2, #10
	mov	r0, r3
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L5394
	ldr	r3, [fp, #-48]
	mov	r2, #10
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5416
.L5394:
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L5396
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	b	.L5397
.L5396:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r3, r3, #1
	sub	r1, fp, #32
	mov	r2, #10
	mov	r0, r3
	bl	strtoul
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	beq	.L5397
	ldr	r3, [fp, #-48]
	mov	r2, #9
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5416
.L5397:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bne	.L5398
	ldr	r3, .L5418+4
	str	r3, [fp, #-20]
	b	.L5399
.L5398:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	blt	.L5400
	ldr	r3, [fp, #-20]
	cmp	r3, #99
	ble	.L5399
.L5400:
	ldr	r3, [fp, #-48]
	mov	r2, #10
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5416
.L5399:
	ldr	r3, [fp, #-24]
	cmp	r3, #99
	ble	.L5401
	ldr	r3, [fp, #-48]
	mov	r2, #10
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5416
.L5401:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	mov	r1, #125
	mov	r0, r3
	bl	strchr
	mov	r2, r0
	ldr	r3, [fp, #-48]
	str	r2, [r3, #32]
	b	.L5402
.L5393:
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #43
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	str	r3, [fp, #-24]
	ldrb	r3, [fp, #-37]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L5403
	mov	r3, #1
	b	.L5404
.L5403:
	ldr	r3, .L5418+4
.L5404:
	str	r3, [fp, #-20]
.L5402:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L5405
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-36]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L5406
	mov	r1, #11
	b	.L5407
.L5406:
	mov	r1, #13
.L5407:
	ldr	r3, [fp, #-16]
	mov	r2, #5
	ldr	r0, [fp, #-48]
	bl	reginsert
	str	r0, [fp, #-28]
	b	.L5408
.L5405:
	ldr	r3, [fp, #-36]
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L5409
	mov	r1, #10
	b	.L5410
.L5409:
	mov	r1, #12
.L5410:
	ldr	r3, [fp, #-16]
	mov	r2, #5
	ldr	r0, [fp, #-48]
	bl	reginsert
	str	r0, [fp, #-28]
.L5408:
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L5411
	mov	r2, #1
	b	.L5412
.L5411:
	mov	r2, #4
.L5412:
	ldr	r3, [fp, #-52]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L5413
	mov	r1, #7
	ldr	r0, [fp, #-48]
	bl	regnode
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-48]
	bl	regtail
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-48]
	bl	regtail
.L5413:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	add	r2, r3, #1
	ldr	r3, [fp, #-48]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L5414
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L5414
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	beq	.L5414
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L5415
.L5414:
	ldr	r3, [fp, #-48]
	mov	r2, #13
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5416
.L5415:
	ldr	r3, [fp, #-16]
.L5416:
	ldr	r2, .L5418
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5417
	bl	__stack_chk_fail
.L5417:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5419:
	.align	2
.L5418:
	.word	.LC698
	.word	1000000
	.size	regpiece, .-regpiece
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_addrange, %function
reg_addrange:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	ble	.L5421
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	reg_addrange
.L5421:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	regc
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	regc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reg_addrange, .-reg_addrange
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_addrange_str, %function
reg_addrange_str:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L5423
.L5424:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	reg_addrange
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L5423:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L5424
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reg_addrange_str, .-reg_addrange_str
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_utf8_tounicode_case, %function
reg_utf8_tounicode_case:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L5426
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	toupper
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3]
.L5426:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reg_utf8_tounicode_case, .-reg_utf8_tounicode_case
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	hexdigitval, %function
hexdigitval:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #47
	ble	.L5429
	ldr	r3, [fp, #-8]
	cmp	r3, #57
	bgt	.L5429
	ldr	r3, [fp, #-8]
	sub	r3, r3, #48
	b	.L5430
.L5429:
	ldr	r3, [fp, #-8]
	cmp	r3, #96
	ble	.L5431
	ldr	r3, [fp, #-8]
	cmp	r3, #102
	bgt	.L5431
	ldr	r3, [fp, #-8]
	sub	r3, r3, #87
	b	.L5430
.L5431:
	ldr	r3, [fp, #-8]
	cmp	r3, #64
	ble	.L5432
	ldr	r3, [fp, #-8]
	cmp	r3, #70
	bgt	.L5432
	ldr	r3, [fp, #-8]
	sub	r3, r3, #55
	b	.L5430
.L5432:
	mvn	r3, #0
.L5430:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	hexdigitval, .-hexdigitval
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	parse_hex, %function
parse_hex:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L5434
.L5437:
	ldr	r3, [fp, #-24]
	add	r2, r3, #1
	str	r2, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	bl	hexdigitval
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	beq	.L5440
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	ldr	r2, [fp, #-8]
	orr	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L5434:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L5437
	b	.L5436
.L5440:
	nop
.L5436:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L5438
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L5438:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	parse_hex, .-parse_hex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_decode_escape, %function
reg_decode_escape:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L5442
	cmp	r3, #0
	blt	.L5443
	cmp	r3, #120
	bgt	.L5443
	cmp	r3, #85
	blt	.L5443
	sub	r3, r3, #85
	cmp	r3, #35
	ldrls	pc, [pc, r3, asl #2]
	b	.L5443
.L5445:
	.word	.L5454
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5453
	.word	.L5443
	.word	.L5443
	.word	.L5452
	.word	.L5451
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5450
	.word	.L5443
	.word	.L5443
	.word	.L5443
	.word	.L5449
	.word	.L5443
	.word	.L5448
	.word	.L5447
	.word	.L5446
	.word	.L5443
	.word	.L5444
.L5453:
	ldr	r3, [fp, #-20]
	mov	r2, #8
	str	r2, [r3]
	b	.L5443
.L5452:
	ldr	r3, [fp, #-20]
	mov	r2, #27
	str	r2, [r3]
	b	.L5443
.L5451:
	ldr	r3, [fp, #-20]
	mov	r2, #12
	str	r2, [r3]
	b	.L5443
.L5450:
	ldr	r3, [fp, #-20]
	mov	r2, #10
	str	r2, [r3]
	b	.L5443
.L5449:
	ldr	r3, [fp, #-20]
	mov	r2, #13
	str	r2, [r3]
	b	.L5443
.L5448:
	ldr	r3, [fp, #-20]
	mov	r2, #9
	str	r2, [r3]
	b	.L5443
.L5446:
	ldr	r3, [fp, #-20]
	mov	r2, #11
	str	r2, [r3]
	b	.L5443
.L5447:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L5455
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	ldr	r2, [fp, #-20]
	mov	r1, #6
	mov	r0, r3
	bl	parse_hex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L5456
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L5456
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L5456
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	cmp	r3, #2097152
	bge	.L5456
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	b	.L5462
.L5456:
	ldr	r3, [fp, #-20]
	mov	r2, #117
	str	r2, [r3]
	b	.L5462
.L5455:
	ldr	r2, [fp, #-20]
	mov	r1, #4
	ldr	r0, [fp, #-16]
	bl	parse_hex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L5462
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	b	.L5462
.L5454:
	ldr	r2, [fp, #-20]
	mov	r1, #8
	ldr	r0, [fp, #-16]
	bl	parse_hex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L5463
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	b	.L5463
.L5444:
	ldr	r2, [fp, #-20]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	parse_hex
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L5464
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	b	.L5464
.L5442:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	mov	r2, #92
	str	r2, [r3]
	b	.L5443
.L5462:
	nop
	b	.L5443
.L5463:
	nop
	b	.L5443
.L5464:
	nop
.L5443:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reg_decode_escape, .-reg_decode_escape
	.section	.rodata
	.align	2
.LC699:
	.ascii	" \011\015\012\014\013\000"
	.align	2
.LC700:
	.ascii	" \011\000"
	.align	2
.LC701:
	.ascii	"<>mMwWdDsSAZ\000"
	.align	2
.LC702:
	.ascii	"^$.[()|?{+*\000"
	.align	2
.LC703:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regatom, %function
regatom:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L5549
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	sub	r1, fp, #48
	ldr	r2, [fp, #-16]
	mov	r0, r3
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-60]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-48]
	cmp	r3, #63
	bgt	.L5466
	cmp	r3, #0
	bge	.L5467
	b	.L5468
.L5479:
	sub	r3, r3, #91
	cmp	r3, #33
	ldrls	pc, [pc, r3, asl #2]
	b	.L5468
.L5470:
	.word	.L5474
	.word	.L5473
	.word	.L5468
	.word	.L5472
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5471
	.word	.L5469
.L5467:
	cmp	r3, #63
	ldrls	pc, [pc, r3, asl #2]
	b	.L5468
.L5475:
	.word	.L5469
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5478
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5477
	.word	.L5469
	.word	.L5471
	.word	.L5471
	.word	.L5468
	.word	.L5468
	.word	.L5476
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5468
	.word	.L5471
.L5466:
	cmp	r3, #124
	bgt	.L5468
	cmp	r3, #91
	bge	.L5479
	b	.L5468
.L5472:
	mov	r1, #1
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5480
.L5478:
	mov	r1, #2
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5480
.L5476:
	mov	r1, #3
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #3
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L5480
.L5474:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #94
	bne	.L5481
	mov	r1, #5
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L5482
.L5481:
	mov	r1, #4
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
.L5482:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L5483
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L5485
.L5483:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L5485
.L5513:
	sub	r3, fp, #44
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	reg_utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r3, #92
	bne	.L5486
	sub	r3, fp, #44
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	reg_decode_escape
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L5486
	ldr	r3, [fp, #-56]
	mov	r2, #18
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5543
.L5486:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #45
	bne	.L5488
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5488
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	beq	.L5488
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-40]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	sub	r3, fp, #40
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	reg_utf8_tounicode_case
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	cmp	r3, #92
	bne	.L5489
	sub	r3, fp, #40
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	reg_decode_escape
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	add	r3, r3, r2
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L5489
	ldr	r3, [fp, #-56]
	mov	r2, #18
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5543
.L5489:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-40]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5485
.L5488:
	ldr	r3, [fp, #-44]
	cmp	r3, #91
	bne	.L5491
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #58
	bne	.L5491
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L5492
.L5495:
	ldr	r2, .L5549+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r2, .L5549+4
	ldr	r3, [fp, #-24]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	strncmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5493
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	b	.L5494
.L5493:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L5492:
	ldr	r3, [fp, #-24]
	cmp	r3, #11
	ble	.L5495
.L5494:
	ldr	r3, [fp, #-24]
	cmp	r3, #12
	beq	.L5491
	ldr	r3, [fp, #-24]
	cmp	r3, #11
	ldrls	pc, [pc, r3, asl #2]
	b	.L5545
.L5498:
	.word	.L5509
	.word	.L5508
	.word	.L5507
	.word	.L5506
	.word	.L5505
	.word	.L5504
	.word	.L5503
	.word	.L5502
	.word	.L5501
	.word	.L5500
	.word	.L5499
	.word	.L5497
.L5508:
	mov	r2, #57
	mov	r1, #48
	ldr	r0, [fp, #-56]
	bl	reg_addrange
.L5509:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L5510
	mov	r2, #122
	mov	r1, #97
	ldr	r0, [fp, #-56]
	bl	reg_addrange
.L5510:
	mov	r2, #90
	mov	r1, #65
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5507:
	ldr	r1, .L5549+8
	ldr	r0, [fp, #-56]
	bl	reg_addrange_str
	b	.L5496
.L5506:
	ldr	r1, .L5549+12
	ldr	r0, [fp, #-56]
	bl	reg_addrange_str
	b	.L5496
.L5505:
	mov	r2, #90
	mov	r1, #65
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5504:
	mov	r2, #122
	mov	r1, #97
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5502:
	mov	r2, #102
	mov	r1, #97
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #70
	mov	r1, #65
	ldr	r0, [fp, #-56]
	bl	reg_addrange
.L5503:
	mov	r2, #57
	mov	r1, #48
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5501:
	mov	r2, #31
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #127
	mov	r1, #127
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5499:
	mov	r2, #126
	mov	r1, #32
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5500:
	mov	r2, #126
	mov	r1, #33
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5496
.L5497:
	mov	r2, #47
	mov	r1, #33
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #64
	mov	r1, #58
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #96
	mov	r1, #91
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #126
	mov	r1, #123
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	nop
.L5496:
	b	.L5545
.L5491:
	ldr	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	b	.L5485
.L5545:
	nop
.L5485:
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5512
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #93
	bne	.L5513
.L5512:
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-28]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5514
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L5514:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-28]
	str	r2, [r3, #32]
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #3
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L5480
.L5477:
	sub	r3, fp, #40
	mov	r2, r3
	mov	r1, #1
	ldr	r0, [fp, #-56]
	bl	reg
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L5515
	mov	r3, #0
	b	.L5543
.L5515:
	ldr	r3, [fp, #-60]
	ldr	r2, [r3]
	ldr	r3, [fp, #-40]
	and	r3, r3, #5
	orr	r2, r2, r3
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L5480
.L5469:
	ldr	r3, [fp, #-56]
	mov	r2, #14
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5543
.L5471:
	ldr	r3, [fp, #-56]
	mov	r2, #15
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5543
.L5473:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	add	r1, r3, #1
	ldr	r2, [fp, #-56]
	str	r1, [r2, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L5516
	cmp	r3, #0
	blt	.L5517
	cmp	r3, #119
	bgt	.L5517
	cmp	r3, #60
	blt	.L5517
	sub	r3, r3, #60
	cmp	r3, #59
	ldrls	pc, [pc, r3, asl #2]
	b	.L5517
.L5519:
	.word	.L5521
	.word	.L5517
	.word	.L5524
	.word	.L5517
	.word	.L5517
	.word	.L5525
	.word	.L5517
	.word	.L5517
	.word	.L5522
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5524
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5520
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5518
	.word	.L5517
	.word	.L5517
	.word	.L5523
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5522
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5521
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5520
	.word	.L5517
	.word	.L5517
	.word	.L5517
	.word	.L5518
.L5516:
	ldr	r3, [fp, #-56]
	mov	r2, #16
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5543
.L5525:
	mov	r1, #14
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5526
.L5523:
	mov	r1, #15
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5526
.L5521:
	mov	r1, #16
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5526
.L5524:
	mov	r1, #17
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5526
.L5522:
	ldr	r3, [fp, #-48]
	cmp	r3, #100
	bne	.L5527
	mov	r3, #4
	b	.L5528
.L5527:
	mov	r3, #5
.L5528:
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	mov	r2, #57
	mov	r1, #48
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #3
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L5526
.L5518:
	ldr	r3, [fp, #-48]
	cmp	r3, #119
	bne	.L5529
	mov	r3, #4
	b	.L5530
.L5529:
	mov	r3, #5
.L5530:
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	cmp	r3, #0
	bne	.L5531
	mov	r2, #122
	mov	r1, #97
	ldr	r0, [fp, #-56]
	bl	reg_addrange
.L5531:
	mov	r2, #90
	mov	r1, #65
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #57
	mov	r1, #48
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r2, #95
	mov	r1, #95
	ldr	r0, [fp, #-56]
	bl	reg_addrange
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #3
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L5526
.L5520:
	ldr	r3, [fp, #-48]
	cmp	r3, #115
	bne	.L5532
	mov	r3, #4
	b	.L5533
.L5532:
	mov	r3, #5
.L5533:
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	ldr	r1, .L5549+8
	ldr	r0, [fp, #-56]
	bl	reg_addrange_str
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #3
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	b	.L5526
.L5517:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	sub	r2, r3, #1
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
	b	.L5468
.L5526:
	b	.L5480
.L5468:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	rsb	r3, r3, #0
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
	mov	r1, #8
	ldr	r0, [fp, #-56]
	bl	regnode
	str	r0, [fp, #-36]
	b	.L5534
.L5541:
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #32]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	and	r2, r3, #2
	sub	r3, fp, #48
	mov	r1, r3
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-48]
	cmp	r3, #92
	bne	.L5535
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5535
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L5549+16
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L5546
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	sub	r2, fp, #48
	mov	r1, r2
	mov	r0, r3
	bl	reg_decode_escape
	mov	r2, r0
	ldr	r3, [fp, #-32]
	add	r3, r3, r2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L5535
	ldr	r3, [fp, #-56]
	mov	r2, #18
	str	r2, [r3, #8]
	mov	r3, #0
	b	.L5543
.L5535:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L5538
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #43
	beq	.L5538
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	beq	.L5538
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L5539
.L5538:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5547
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
	b	.L5537
.L5539:
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #32]
	ldr	r3, [fp, #-32]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #32]
.L5534:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5537
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L5549+20
	bl	strchr
	mov	r3, r0
	cmp	r3, #0
	beq	.L5541
	b	.L5537
.L5546:
	nop
	b	.L5537
.L5547:
	nop
.L5537:
	mov	r1, #0
	ldr	r0, [fp, #-56]
	bl	regc
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #1
	ldr	r3, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r3, #1
	bne	.L5548
	ldr	r3, [fp, #-60]
	ldr	r3, [r3]
	orr	r2, r3, #2
	ldr	r3, [fp, #-60]
	str	r2, [r3]
.L5548:
	nop
.L5480:
	ldr	r3, [fp, #-36]
.L5543:
	ldr	r2, .L5549
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5544
	bl	__stack_chk_fail
.L5544:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5550:
	.align	2
.L5549:
	.word	.LC703
	.word	character_class.17183
	.word	.LC699
	.word	.LC700
	.word	.LC701
	.word	.LC702
	.size	regatom, .-regatom
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_grow, %function
reg_grow:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	cmp	r2, r3
	blt	.L5553
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsl	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #28]
.L5553:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reg_grow, .-reg_grow
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regnode, %function
regnode:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r1, #2
	ldr	r0, [fp, #-8]
	bl	reg_grow
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1, #36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1, #36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	sub	r3, r3, #2
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regnode, .-regnode
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regc, %function
regc:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	reg_grow
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1, #36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regc, .-regc
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reginsert, %function
reginsert:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	reg_grow
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r1, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memmove
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, #0
	bl	memset
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #36]
	ldr	r3, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #36]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	reginsert, .-reginsert
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regtail, %function
regtail:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
.L5562:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	regnext
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L5566
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
	b	.L5562
.L5566:
	nop
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #7
	bne	.L5563
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	b	.L5564
.L5563:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
.L5564:
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regtail, .-regtail
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regoptail, %function
regoptail:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L5569
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #6
	bne	.L5569
	ldr	r3, [fp, #-12]
	add	r3, r3, #2
	ldr	r2, [fp, #-16]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	regtail
.L5569:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regoptail, .-regoptail
	.section	.rodata
	.align	2
.LC704:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	regexec
	.syntax unified
	.arm
	.fpu softvfp
	.type	regexec, %function
regexec:
	@ args = 4, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, .L5603
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L5571
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	cmp	r3, #0
	beq	.L5571
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L5572
.L5571:
	mov	r3, #3
	b	.L5573
.L5572:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #28]
	ldr	r3, [r3]
	ldr	r2, .L5603+4
	cmp	r3, r2
	beq	.L5574
	mov	r3, #17
	b	.L5573
.L5574:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #4]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r2, [r3, #60]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-32]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #48]
	mov	r3, #3
	str	r3, [fp, #-16]
	b	.L5575
.L5580:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L5599
	ldr	r3, [fp, #-12]
	cmp	r3, #12
	beq	.L5578
	ldr	r3, [fp, #-12]
	cmp	r3, #13
	bne	.L5579
.L5578:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #4
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]
.L5579:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	regopsize
	mov	r2, r0
	ldr	r3, [fp, #-16]
	add	r3, r3, r2
	str	r3, [fp, #-16]
.L5575:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L5580
	b	.L5577
.L5599:
	nop
.L5577:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	beq	.L5581
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-20]
	b	.L5582
.L5585:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	ldr	r2, [fp, #-20]
	bl	prefix_cmp
	mov	r3, r0
	cmp	r3, #0
	bge	.L5600
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L5582:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	mov	r2, r3
	ldr	r0, [fp, #-20]
	bl	str_find
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5585
	b	.L5584
.L5600:
	nop
.L5584:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5581
	mov	r3, #1
	b	.L5573
.L5581:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #56]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #16]
	cmp	r3, #0
	beq	.L5586
	ldr	r3, [fp, #4]
	and	r3, r3, #16
	cmp	r3, #0
	bne	.L5601
.L5587:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	regtry
	mov	r3, r0
	cmp	r3, #0
	beq	.L5589
	mov	r3, #0
	b	.L5573
.L5589:
	ldr	r3, [fp, #-36]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5590
	b	.L5588
.L5601:
	nop
.L5588:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L5590
	mov	r1, #10
	ldr	r0, [fp, #-36]
	bl	strchr
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L5590
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #56]
	b	.L5587
.L5590:
	mov	r3, #1
	b	.L5573
.L5586:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	beq	.L5591
	b	.L5592
.L5594:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	regtry
	mov	r3, r0
	cmp	r3, #0
	beq	.L5593
	mov	r3, #0
	b	.L5573
.L5593:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L5592:
	ldr	r3, [fp, #-32]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	mov	r2, r3
	ldr	r0, [fp, #-20]
	bl	str_find
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L5594
	b	.L5595
.L5591:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	regtry
	mov	r3, r0
	cmp	r3, #0
	beq	.L5596
	mov	r3, #0
	b	.L5573
.L5596:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L5602
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-24]
	mov	r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	b	.L5591
.L5602:
	nop
.L5595:
	mov	r3, #1
.L5573:
	ldr	r2, .L5603
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5598
	bl	__stack_chk_fail
.L5598:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5604:
	.align	2
.L5603:
	.word	.LC704
	.word	-86061043
	.size	regexec, .-regexec
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regtry, %function
regtry:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #52]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L5606
.L5607:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L5606:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #64]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	blt	.L5607
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5608
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	ldr	r1, [fp, #-20]
	sub	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r1, [r3, #52]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	sub	r2, r1, r2
	str	r2, [r3, #4]
	mov	r3, #1
	b	.L5609
.L5608:
	mov	r3, #0
.L5609:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regtry, .-regtry
	.section	.rodata
	.align	2
.LC705:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	prefix_cmp, %function
prefix_cmp:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, .L5618
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-16]
	b	.L5611
.L5615:
	sub	r3, fp, #20
	ldr	r2, [fp, #-36]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L5612
	mvn	r3, #0
	b	.L5613
.L5612:
	ldr	r3, [fp, #-24]
	add	r3, r3, #4
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L5611:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	beq	.L5614
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L5615
.L5614:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L5616
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	b	.L5613
.L5616:
	mvn	r3, #0
.L5613:
	ldr	r2, .L5618
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5617
	bl	__stack_chk_fail
.L5617:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5619:
	.align	2
.L5618:
	.word	.LC705
	.size	prefix_cmp, .-prefix_cmp
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_range_find, %function
reg_range_find:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	b	.L5621
.L5624:
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L5622
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L5622
	mov	r3, #1
	b	.L5623
.L5622:
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	str	r3, [fp, #-8]
.L5621:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5624
	mov	r3, #0
.L5623:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	reg_range_find, .-reg_range_find
	.section	.rodata
	.align	2
.LC706:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	str_find, %function
str_find:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, .L5632
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L5627
	ldr	r0, [fp, #-28]
	bl	toupper
	str	r0, [fp, #-28]
	b	.L5627
.L5630:
	sub	r3, fp, #16
	ldr	r2, [fp, #-32]
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L5628
	ldr	r3, [fp, #-24]
	b	.L5629
.L5628:
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	str	r3, [fp, #-24]
.L5627:
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L5630
	mov	r3, #0
.L5629:
	ldr	r2, .L5632
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5631
	bl	__stack_chk_fail
.L5631:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5633:
	.align	2
.L5632:
	.word	.LC706
	.size	str_find, .-str_find
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	reg_iseol, %function
reg_iseol:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L5635
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L5636
	ldr	r3, [fp, #-12]
	cmp	r3, #10
	bne	.L5637
.L5636:
	mov	r3, #1
	b	.L5639
.L5637:
	mov	r3, #0
	b	.L5639
.L5635:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L5639:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	reg_iseol, .-reg_iseol
	.section	.rodata
	.align	2
.LC707:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regmatchsimplerepeat, %function
regmatchsimplerepeat:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	ldr	r3, .L5656
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	add	r3, r3, #3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-40]
	bl	regnext
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #8
	bne	.L5641
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
.L5641:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-44]
	add	r3, r3, #5
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-40]
	bl	regrepeat
	str	r0, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bge	.L5642
	mov	r3, #0
	b	.L5653
.L5642:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L5652
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-28]
.L5652:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L5645
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r2, r3
	ble	.L5646
	b	.L5647
.L5645:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L5655
.L5646:
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-12]
	add	r2, r2, r3
	ldr	r3, [fp, #-40]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-40]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	and	r2, r3, #2
	sub	r3, fp, #36
	mov	r1, r3
	bl	reg_utf8_tounicode_case
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-40]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5648
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	bne	.L5649
.L5648:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-40]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5649
	mov	r3, #1
	b	.L5653
.L5649:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L5650
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L5652
.L5650:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L5652
.L5655:
	nop
.L5647:
	mov	r3, #0
.L5653:
	ldr	r2, .L5656
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5654
	bl	__stack_chk_fail
.L5654:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5657:
	.align	2
.L5656:
	.word	.LC707
	.size	regmatchsimplerepeat, .-regmatchsimplerepeat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regmatchrepeat, %function
regmatchrepeat:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	ble	.L5659
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #5
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5660
	mov	r3, #1
	b	.L5661
.L5660:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r2, [r3]
	sub	r2, r2, #1
	str	r2, [r3]
	mov	r3, #0
	b	.L5661
.L5659:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L5662
	mov	r3, #0
	b	.L5661
.L5662:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L5663
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	regnext
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5664
	mov	r3, #1
	b	.L5661
.L5664:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #5
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5665
	mov	r3, #1
	b	.L5661
.L5665:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r2, [r3]
	sub	r2, r2, #1
	str	r2, [r3]
	mov	r3, #0
	b	.L5661
.L5663:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	ble	.L5666
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #5
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5667
	mov	r3, #1
	b	.L5661
.L5667:
	ldr	r3, [fp, #-16]
	add	r3, r3, #16
	ldr	r2, [r3]
	sub	r2, r2, #1
	str	r2, [r3]
.L5666:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	regnext
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	regmatch
	mov	r3, r0
.L5661:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regmatchrepeat, .-regmatchrepeat
	.section	.rodata
	.align	2
.LC708:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regmatch, %function
regmatch:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L5723
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-44]
	b	.L5669
.L5715:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	regnext
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #52]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	and	r2, r3, #2
	sub	r3, fp, #48
	mov	r1, r3
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #2000
	beq	.L5670
	cmp	r3, #2000
	bgt	.L5671
	cmp	r3, #17
	bgt	.L5672
	cmp	r3, #0
	blt	.L5671
	cmp	r3, #17
	ldrls	pc, [pc, r3, asl #2]
	b	.L5671
.L5674:
	.word	.L5689
	.word	.L5688
	.word	.L5687
	.word	.L5686
	.word	.L5685
	.word	.L5684
	.word	.L5683
	.word	.L5717
	.word	.L5681
	.word	.L5717
	.word	.L5679
	.word	.L5679
	.word	.L5678
	.word	.L5678
	.word	.L5677
	.word	.L5676
	.word	.L5675
	.word	.L5673
.L5672:
	cmp	r3, #1000
	beq	.L5670
	b	.L5671
.L5677:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	and	r3, r3, #16
	cmp	r3, #0
	beq	.L5688
	mov	r3, #0
	b	.L5714
.L5688:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	cmp	r2, r3
	beq	.L5718
	mov	r3, #0
	b	.L5714
.L5676:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L5719
	mov	r3, #0
	b	.L5714
.L5687:
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5720
	mov	r3, #0
	b	.L5714
.L5675:
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L5695
	ldr	r3, [fp, #-48]
	cmp	r3, #95
	beq	.L5695
	mov	r3, #0
	b	.L5714
.L5695:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	cmp	r2, r3
	bls	.L5721
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L5697
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #95
	bne	.L5721
.L5697:
	mov	r3, #0
	b	.L5714
.L5673:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #56]
	cmp	r2, r3
	bls	.L5698
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5699
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	beq	.L5699
	ldr	r3, [fp, #-48]
	cmp	r3, #95
	beq	.L5698
.L5699:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	sub	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-48]
	bl	__ctype_b_loc
	mov	r3, r0
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	and	r3, r3, #255
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r3, [r3]
	and	r3, r3, #8
	cmp	r3, #0
	bne	.L5722
	ldr	r3, [fp, #-48]
	cmp	r3, #95
	beq	.L5722
.L5698:
	mov	r3, #0
	b	.L5714
.L5686:
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	beq	.L5700
	mov	r3, #0
	b	.L5714
.L5700:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #52]
	b	.L5692
.L5681:
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r0, r3
	bl	str_int_len
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	and	r3, r3, #2
	ldr	r1, [fp, #-28]
	bl	prefix_cmp
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bge	.L5701
	mov	r3, #0
	b	.L5714
.L5701:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #52]
	b	.L5692
.L5685:
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5702
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	mov	r1, r2
	mov	r0, r3
	bl	reg_range_find
	mov	r3, r0
	cmp	r3, #0
	bne	.L5703
.L5702:
	mov	r3, #0
	b	.L5714
.L5703:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #52]
	b	.L5692
.L5684:
	ldr	r3, [fp, #-48]
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5704
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-48]
	mov	r1, r2
	mov	r0, r3
	bl	reg_range_find
	mov	r3, r0
	cmp	r3, #0
	beq	.L5705
.L5704:
	mov	r3, #0
	b	.L5714
.L5705:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-36]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	str	r2, [r3, #52]
	b	.L5692
.L5683:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #6
	beq	.L5706
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-40]
	b	.L5692
.L5706:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-56]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5708
	mov	r3, #1
	b	.L5714
.L5708:
	ldr	r3, [fp, #-56]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #52]
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	regnext
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	beq	.L5709
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #6
	beq	.L5706
.L5709:
	mov	r3, #0
	b	.L5714
.L5679:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #11
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	regmatchsimplerepeat
	mov	r3, r0
	b	.L5714
.L5678:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #13
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-56]
	bl	regmatchrepeat
	mov	r3, r0
	b	.L5714
.L5689:
	mov	r3, #1
	b	.L5714
.L5670:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	regmatch
	mov	r3, r0
	b	.L5714
.L5671:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L5723+4
	cmp	r3, r2
	ble	.L5710
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L5723+8
	cmp	r3, r2
	bgt	.L5710
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-56]
	bl	regmatch
	mov	r3, r0
	cmp	r3, #0
	beq	.L5711
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #2000
	bgt	.L5712
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #1000
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #64]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L5713
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3]
	cmn	r3, #1
	bne	.L5713
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #60]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r1, [fp, #-20]
	sub	r2, r1, r2
	str	r2, [r3]
	b	.L5713
.L5712:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #2000
	sub	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #64]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L5713
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmn	r3, #1
	bne	.L5713
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #60]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldr	r1, [fp, #-20]
	sub	r2, r1, r2
	str	r2, [r3, #4]
.L5713:
	mov	r3, #1
	b	.L5714
.L5711:
	mov	r3, #0
	b	.L5714
.L5710:
	mov	r3, #14
	b	.L5714
.L5717:
	nop
	b	.L5692
.L5718:
	nop
	b	.L5692
.L5719:
	nop
	b	.L5692
.L5720:
	nop
	b	.L5692
.L5721:
	nop
	b	.L5692
.L5722:
	nop
.L5692:
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
.L5669:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L5715
	mov	r3, #14
.L5714:
	ldr	r2, .L5723
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5716
	bl	__stack_chk_fail
.L5716:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5724:
	.align	2
.L5723:
	.word	.LC708
	.word	1001
	.word	2100
	.size	regmatch, .-regmatch
	.section	.rodata
	.align	2
.LC709:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regrepeat, %function
regrepeat:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L5753
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-36]
	add	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r3, r3, #3
	cmp	r3, #5
	ldrls	pc, [pc, r3, asl #2]
	b	.L5726
.L5728:
	.word	.L5732
	.word	.L5740
	.word	.L5743
	.word	.L5726
	.word	.L5726
	.word	.L5736
.L5734:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L5732:
	ldr	r3, [fp, #-20]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5749
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L5734
	b	.L5749
.L5739:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r2, r3, #2
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bne	.L5750
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
.L5736:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L5739
	b	.L5735
.L5750:
	nop
	b	.L5735
.L5742:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r2, r3, #2
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5751
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	mov	r1, r2
	mov	r0, r3
	bl	reg_range_find
	mov	r3, r0
	cmp	r3, #0
	beq	.L5751
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
.L5740:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L5742
	b	.L5751
.L5745:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	and	r2, r3, #2
	sub	r3, fp, #28
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	reg_utf8_tounicode_case
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-28]
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	reg_iseol
	mov	r3, r0
	cmp	r3, #0
	bne	.L5752
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-28]
	mov	r1, r2
	mov	r0, r3
	bl	reg_range_find
	mov	r3, r0
	cmp	r3, #0
	bne	.L5752
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	str	r3, [fp, #-20]
.L5743:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	blt	.L5745
	b	.L5752
.L5726:
	ldr	r3, [fp, #-32]
	mov	r2, #14
	str	r2, [r3, #8]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L5735
.L5749:
	nop
	b	.L5735
.L5751:
	nop
	b	.L5735
.L5752:
	nop
.L5735:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-24]
	ldr	r2, .L5753
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5747
	bl	__stack_chk_fail
.L5747:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5754:
	.align	2
.L5753:
	.word	.LC709
	.size	regrepeat, .-regrepeat
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regnext, %function
regnext:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L5756
	mov	r3, #0
	b	.L5757
.L5756:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #7
	bne	.L5758
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	b	.L5757
.L5758:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
.L5757:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	regnext, .-regnext
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	regopsize, %function
regopsize:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #13
	bgt	.L5760
	cmp	r3, #10
	bge	.L5761
	cmp	r3, #5
	bgt	.L5762
	cmp	r3, #4
	bge	.L5763
	b	.L5760
.L5762:
	cmp	r3, #8
	beq	.L5763
	b	.L5760
.L5761:
	mov	r3, #5
	b	.L5764
.L5763:
	ldr	r3, [fp, #-20]
	add	r3, r3, #2
	str	r3, [fp, #-8]
	nop
.L5765:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #28]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5765
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	b	.L5764
.L5760:
	mov	r3, #2
.L5764:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	regopsize, .-regopsize
	.section	.rodata
	.align	2
.LC710:
	.ascii	"Bad error code\000"
	.text
	.align	2
	.global	regerror
	.syntax unified
	.arm
	.fpu softvfp
	.type	regerror, %function
regerror:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L5767
	ldr	r3, [fp, #-16]
	cmp	r3, #18
	ble	.L5768
.L5767:
	ldr	r3, .L5771
	str	r3, [fp, #-8]
	b	.L5769
.L5768:
	ldr	r2, .L5771+4
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-8]
.L5769:
	ldr	r3, [fp, #-8]
	ldr	r2, .L5771+8
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	snprintf
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5772:
	.align	2
.L5771:
	.word	.LC710
	.word	error_strings.17474
	.word	.LC672
	.size	regerror, .-regerror
	.align	2
	.global	regfree
	.syntax unified
	.arm
	.fpu softvfp
	.type	regfree, %function
regfree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #28]
	mov	r0, r3
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	regfree, .-regfree
	.align	2
	.global	Jim_HistoryGetline
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_HistoryGetline, %function
Jim_HistoryGetline:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r0, #512
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L5778
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	fputs
	ldr	r3, .L5778
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r3, .L5778+4
	ldr	r3, [r3]
	mov	r2, r3
	mov	r1, #512
	ldr	r0, [fp, #-12]
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L5775
	ldr	r0, [fp, #-12]
	bl	free
	mov	r3, #0
	b	.L5776
.L5775:
	ldr	r0, [fp, #-12]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L5777
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L5777
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L5777:
	ldr	r3, [fp, #-12]
.L5776:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5779:
	.align	2
.L5778:
	.word	stdout
	.word	stdin
	.size	Jim_HistoryGetline, .-Jim_HistoryGetline
	.align	2
	.global	Jim_HistoryLoad
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_HistoryLoad, %function
Jim_HistoryLoad:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_HistoryLoad, .-Jim_HistoryLoad
	.align	2
	.global	Jim_HistoryAdd
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_HistoryAdd, %function
Jim_HistoryAdd:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_HistoryAdd, .-Jim_HistoryAdd
	.align	2
	.global	Jim_HistorySave
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_HistorySave, %function
Jim_HistorySave:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_HistorySave, .-Jim_HistorySave
	.align	2
	.global	Jim_HistoryShow
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_HistoryShow, %function
Jim_HistoryShow:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Jim_HistoryShow, .-Jim_HistoryShow
	.section	.rodata
	.align	2
.LC711:
	.ascii	"Welcome to Jim version %d.%d\012\000"
	.align	2
.LC712:
	.ascii	"[%d] . \000"
	.align	2
.LC713:
	.ascii	"[%s] . \000"
	.align	2
.LC714:
	.ascii	". \000"
	.align	2
.LC715:
	.ascii	"%c> \000"
	.align	2
.LC716:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Jim_InteractivePrompt
	.syntax unified
	.arm
	.fpu softvfp
	.type	Jim_InteractivePrompt, %function
Jim_InteractivePrompt:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	ldr	r3, .L5806
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r2, #76
	mov	r1, #0
	ldr	r0, .L5806+4
	bl	printf
	ldr	r2, .L5806+8
	ldr	r1, .L5806+12
	ldr	r0, [fp, #-64]
	bl	Jim_SetVariableStrWithStr
.L5801:
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	beq	.L5785
	ldr	r0, [fp, #-52]
	bl	Jim_ReturnCode
	str	r0, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #63
	bne	.L5786
	sub	r0, fp, #28
	ldr	r3, [fp, #-52]
	ldr	r2, .L5806+16
	mov	r1, #17
	bl	snprintf
	b	.L5787
.L5786:
	sub	r0, fp, #28
	ldr	r3, [fp, #-44]
	ldr	r2, .L5806+20
	mov	r1, #17
	bl	snprintf
	b	.L5787
.L5785:
	sub	r3, fp, #28
	ldr	r2, .L5806+24
	ldr	r2, [r2]
	strh	r2, [r3]	@ movhi
	add	r3, r3, #2
	lsr	r2, r2, #16
	strb	r2, [r3]
.L5787:
	mov	r2, #0
	ldr	r1, .L5806+28
	ldr	r0, [fp, #-64]
	bl	Jim_NewStringObj
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
.L5797:
	sub	r3, fp, #28
	mov	r0, r3
	bl	Jim_HistoryGetline
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L5788
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	cmp	r3, #4
	beq	.L5804
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bgt	.L5791
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L5791:
	mov	r3, #0
	str	r3, [fp, #-52]
	b	.L5792
.L5788:
	ldr	r0, [fp, #-40]
	bl	Jim_Length
	mov	r3, r0
	cmp	r3, #0
	beq	.L5793
	mov	r3, #1
	ldr	r2, .L5806+32
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_AppendString
.L5793:
	mvn	r3, #0
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_AppendString
	ldr	r0, [fp, #-36]
	bl	free
	sub	r3, fp, #56
	mov	r2, r3
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_ScriptIsComplete
	mov	r3, r0
	cmp	r3, #0
	beq	.L5794
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_EvalObj
	str	r0, [fp, #-52]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	ble	.L5795
	b	.L5796
.L5794:
	ldrb	r3, [fp, #-56]	@ zero_extendqisi2
	sub	r0, fp, #28
	ldr	r2, .L5806+36
	mov	r1, #20
	bl	snprintf
	b	.L5797
.L5804:
	nop
	b	.L5797
.L5795:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-64]
	bl	Jim_FreeObj
.L5796:
	ldr	r3, [fp, #-52]
	cmp	r3, #6
	beq	.L5805
	ldr	r3, [fp, #-52]
	cmp	r3, #1
	bne	.L5799
	ldr	r0, [fp, #-64]
	bl	Jim_MakeErrorMessage
.L5799:
	ldr	r3, [fp, #-64]
	ldr	r3, [r3]
	sub	r2, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	Jim_GetString
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L5801
	ldr	r0, [fp, #-32]
	bl	puts
	b	.L5801
.L5805:
	nop
.L5792:
	ldr	r0, [fp, #-48]
	bl	Jim_Free
	ldr	r3, [fp, #-52]
	ldr	r2, .L5806
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L5803
	bl	__stack_chk_fail
.L5803:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5807:
	.align	2
.L5806:
	.word	.LC716
	.word	.LC711
	.word	.LC193
	.word	.LC310
	.word	.LC712
	.word	.LC713
	.word	.LC714
	.word	.LC86
	.word	.LC30
	.word	.LC715
	.size	Jim_InteractivePrompt, .-Jim_InteractivePrompt
	.section	.rodata
	.align	2
.LC717:
	.ascii	"argv\000"
	.align	2
.LC718:
	.ascii	"argc\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimSetArgv, %function
JimSetArgv:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-24]
	bl	Jim_NewListObj
	str	r0, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L5809
.L5810:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r3, [r3]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	Jim_NewStringObj
	str	r0, [fp, #-8]
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	Jim_ListAppendElement
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L5809:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L5810
	ldr	r2, [fp, #-12]
	ldr	r1, .L5811
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariableStr
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	Jim_NewIntObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L5811+4
	ldr	r0, [fp, #-24]
	bl	Jim_SetVariableStr
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5812:
	.align	2
.L5811:
	.word	.LC717
	.word	.LC718
	.size	JimSetArgv, .-JimSetArgv
	.section	.rodata
	.align	2
.LC719:
	.ascii	"%s\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	JimPrintErrorMessage, %function
JimPrintErrorMessage:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	Jim_MakeErrorMessage
	ldr	r3, .L5814
	ldr	r4, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L5814+4
	mov	r0, r4
	bl	fprintf
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L5815:
	.align	2
.L5814:
	.word	stderr
	.word	.LC719
	.size	JimPrintErrorMessage, .-JimPrintErrorMessage
	.section	.rodata
	.align	2
.LC720:
	.ascii	"jimsh version %d.%d\012\000"
	.align	2
.LC721:
	.ascii	"Usage: %s\012\000"
	.align	2
.LC722:
	.ascii	"or   : %s [options] [filename]\012\000"
	.align	2
.LC723:
	.ascii	"Without options: Interactive mode\000"
	.align	2
.LC724:
	.ascii	"Options:\000"
	.align	2
.LC725:
	.ascii	"         --version  : prints the version string\000"
	.align	2
.LC726:
	.ascii	"         --help     : prints this text\000"
	.align	2
.LC727:
	.ascii	"         -e CMD     : executes command CMD\000"
	.align	2
.LC728:
	.ascii	"                      NOTE: all subsequent options "
	.ascii	"will be passed as arguments to the command\000"
	.align	2
.LC729:
	.ascii	"         [filename] : executes the script contained"
	.ascii	" in the named file\000"
	.align	2
.LC730:
	.ascii	"                      NOTE: all subsequent options "
	.ascii	"will be passed to the script\012\000"
	.text
	.align	2
	.global	usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
usage:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r2, #76
	mov	r1, #0
	ldr	r0, .L5817
	bl	printf
	ldr	r1, [fp, #-8]
	ldr	r0, .L5817+4
	bl	printf
	ldr	r1, [fp, #-8]
	ldr	r0, .L5817+8
	bl	printf
	mov	r0, #10
	bl	putchar
	ldr	r0, .L5817+12
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L5817+16
	bl	puts
	ldr	r0, .L5817+20
	bl	puts
	ldr	r0, .L5817+24
	bl	puts
	ldr	r0, .L5817+28
	bl	puts
	ldr	r0, .L5817+32
	bl	puts
	ldr	r0, .L5817+36
	bl	puts
	ldr	r0, .L5817+40
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5818:
	.align	2
.L5817:
	.word	.LC720
	.word	.LC721
	.word	.LC722
	.word	.LC723
	.word	.LC724
	.word	.LC725
	.word	.LC726
	.word	.LC727
	.word	.LC728
	.word	.LC729
	.word	.LC730
	.size	usage, .-usage
	.section	.rodata
	.align	2
.LC731:
	.ascii	"--version\000"
	.align	2
.LC732:
	.ascii	"%d.%d\012\000"
	.align	2
.LC733:
	.ascii	"--help\000"
	.align	2
.LC734:
	.ascii	"jim::argv0\000"
	.align	2
.LC735:
	.ascii	"-e\000"
	.align	2
.LC736:
	.ascii	"argv0\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L5820
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L5835
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5820
	mov	r2, #76
	mov	r1, #0
	ldr	r0, .L5835+4
	bl	printf
	mov	r3, #0
	b	.L5821
.L5820:
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	ble	.L5822
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L5835+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5822
	ldr	r3, [fp, #-28]
	ldr	r3, [r3]
	mov	r0, r3
	bl	usage
	mov	r3, #0
	b	.L5821
.L5822:
	bl	Jim_CreateInterp
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	Jim_RegisterCoreCommands
	ldr	r0, [fp, #-8]
	bl	Jim_InitStaticExtensions
	mov	r3, r0
	cmp	r3, #0
	beq	.L5823
	ldr	r0, [fp, #-8]
	bl	JimPrintErrorMessage
.L5823:
	ldr	r2, [fp, #-12]
	ldr	r1, .L5835+12
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L5824
	ldr	r3, .L5835+16
	b	.L5825
.L5824:
	ldr	r3, .L5835+20
.L5825:
	mov	r2, r3
	ldr	r1, .L5835+24
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStrWithStr
	ldr	r0, [fp, #-8]
	bl	Jim_initjimshInit
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #1
	bne	.L5826
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L5827
	ldr	r0, [fp, #-8]
	bl	JimPrintErrorMessage
.L5827:
	ldr	r3, [fp, #-16]
	cmp	r3, #6
	beq	.L5828
	mov	r2, #0
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	JimSetArgv
	ldr	r0, [fp, #-8]
	bl	Jim_InteractivePrompt
	str	r0, [fp, #-16]
	b	.L5828
.L5826:
	ldr	r3, [fp, #-24]
	cmp	r3, #2
	ble	.L5829
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L5835+28
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5829
	ldr	r3, [fp, #-24]
	sub	r1, r3, #3
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	JimSetArgv
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_Eval
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	beq	.L5831
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	Jim_String
	mov	r3, r0
	mov	r0, r3
	bl	puts
	b	.L5831
.L5829:
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mvn	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_NewStringObj
	mov	r3, r0
	mov	r2, r3
	ldr	r1, .L5835+32
	ldr	r0, [fp, #-8]
	bl	Jim_SetVariableStr
	ldr	r3, [fp, #-24]
	sub	r1, r3, #2
	ldr	r3, [fp, #-28]
	add	r3, r3, #8
	mov	r2, r3
	ldr	r0, [fp, #-8]
	bl	JimSetArgv
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	Jim_EvalFile
	str	r0, [fp, #-16]
.L5831:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L5828
	ldr	r0, [fp, #-8]
	bl	JimPrintErrorMessage
.L5828:
	ldr	r3, [fp, #-16]
	cmp	r3, #6
	bne	.L5832
	ldr	r0, [fp, #-8]
	bl	Jim_GetExitCode
	str	r0, [fp, #-16]
	b	.L5833
.L5832:
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L5834
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L5833
.L5834:
	mov	r3, #0
	str	r3, [fp, #-16]
.L5833:
	ldr	r0, [fp, #-8]
	bl	Jim_FreeInterp
	ldr	r3, [fp, #-16]
.L5821:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L5836:
	.align	2
.L5835:
	.word	.LC731
	.word	.LC732
	.word	.LC733
	.word	.LC734
	.word	.LC193
	.word	.LC309
	.word	.LC310
	.word	.LC735
	.word	.LC736
	.size	main, .-main
	.section	.rodata
	.align	2
.LC737:
	.ascii	"none\000"
	.align	2
.LC738:
	.ascii	"line\000"
	.align	2
.LC739:
	.ascii	"full\000"
	.align	2
	.type	options.7909, %object
	.size	options.7909, 16
options.7909:
	.word	.LC737
	.word	.LC738
	.word	.LC739
	.word	0
	.align	2
.LC740:
	.ascii	"-indices\000"
	.align	2
.LC741:
	.ascii	"-line\000"
	.align	2
.LC742:
	.ascii	"-all\000"
	.align	2
.LC743:
	.ascii	"-inline\000"
	.align	2
.LC744:
	.ascii	"-start\000"
	.align	2
	.type	options.8133, %object
	.size	options.8133, 32
options.8133:
	.word	.LC740
	.word	.LC483
	.word	.LC741
	.word	.LC742
	.word	.LC743
	.word	.LC744
	.word	.LC117
	.word	0
	.align	2
	.type	options.8189, %object
	.size	options.8189, 24
options.8189:
	.word	.LC483
	.word	.LC741
	.word	.LC742
	.word	.LC744
	.word	.LC117
	.word	0
	.local	buf.8930
	.comm	buf.8930,10,4
	.align	2
	.type	__PRETTY_FUNCTION__.12168, %object
	.size	__PRETTY_FUNCTION__.12168, 20
__PRETTY_FUNCTION__.12168:
	.ascii	"Jim_ExpandHashTable\000"
	.align	2
.LC745:
	.ascii	"integer\000"
	.align	2
.LC746:
	.ascii	"alpha\000"
	.align	2
.LC747:
	.ascii	"alnum\000"
	.align	2
.LC748:
	.ascii	"ascii\000"
	.align	2
.LC749:
	.ascii	"digit\000"
	.align	2
.LC750:
	.ascii	"lower\000"
	.align	2
.LC751:
	.ascii	"upper\000"
	.align	2
.LC752:
	.ascii	"space\000"
	.align	2
.LC753:
	.ascii	"xdigit\000"
	.align	2
.LC754:
	.ascii	"control\000"
	.align	2
.LC755:
	.ascii	"print\000"
	.align	2
.LC756:
	.ascii	"graph\000"
	.align	2
.LC757:
	.ascii	"punct\000"
	.align	2
	.type	strclassnames.12844, %object
	.size	strclassnames.12844, 60
strclassnames.12844:
	.word	.LC745
	.word	.LC746
	.word	.LC747
	.word	.LC748
	.word	.LC749
	.word	.LC335
	.word	.LC750
	.word	.LC751
	.word	.LC752
	.word	.LC753
	.word	.LC754
	.word	.LC755
	.word	.LC756
	.word	.LC757
	.word	0
	.local	dummy_op.14696
	.comm	dummy_op.14696,12,4
	.align	2
.LC758:
	.ascii	"NIL\000"
	.align	2
.LC759:
	.ascii	"STR\000"
	.align	2
.LC760:
	.ascii	"ESC\000"
	.align	2
.LC761:
	.ascii	"VAR\000"
	.align	2
.LC762:
	.ascii	"ARY\000"
	.align	2
.LC763:
	.ascii	"CMD\000"
	.align	2
.LC764:
	.ascii	"SEP\000"
	.align	2
.LC765:
	.ascii	"EOL\000"
	.align	2
.LC766:
	.ascii	"EOF\000"
	.align	2
.LC767:
	.ascii	"LIN\000"
	.align	2
.LC768:
	.ascii	"WRD\000"
	.align	2
.LC769:
	.ascii	"(((\000"
	.align	2
.LC770:
	.ascii	")))\000"
	.align	2
.LC771:
	.ascii	",,,\000"
	.align	2
.LC772:
	.ascii	"INT\000"
	.align	2
.LC773:
	.ascii	"DBL\000"
	.align	2
.LC774:
	.ascii	"$()\000"
	.align	2
	.type	tt_names.14700, %object
	.size	tt_names.14700, 80
tt_names.14700:
	.word	.LC758
	.word	.LC759
	.word	.LC760
	.word	.LC761
	.word	.LC762
	.word	.LC763
	.word	.LC764
	.word	.LC765
	.word	.LC766
	.word	.LC767
	.word	.LC768
	.word	.LC769
	.word	.LC770
	.word	.LC771
	.word	.LC772
	.word	.LC773
	.word	.LC774
	.space	12
	.local	buf.14702
	.comm	buf.14702,20,4
	.align	2
.LC775:
	.ascii	"-bool\000"
	.align	2
.LC776:
	.ascii	"-not\000"
	.align	2
	.type	options.15799, %object
	.size	options.15799, 40
options.15799:
	.word	.LC775
	.word	.LC776
	.word	.LC483
	.word	.LC486
	.word	.LC487
	.word	.LC488
	.word	.LC742
	.word	.LC743
	.word	.LC489
	.word	0
	.align	2
.LC777:
	.ascii	"-ascii\000"
	.align	2
.LC778:
	.ascii	"-increasing\000"
	.align	2
.LC779:
	.ascii	"-decreasing\000"
	.align	2
.LC780:
	.ascii	"-integer\000"
	.align	2
.LC781:
	.ascii	"-real\000"
	.align	2
.LC782:
	.ascii	"-index\000"
	.align	2
.LC783:
	.ascii	"-unique\000"
	.align	2
	.type	options.15899, %object
	.size	options.15899, 40
options.15899:
	.word	.LC777
	.word	.LC483
	.word	.LC778
	.word	.LC779
	.word	.LC489
	.word	.LC780
	.word	.LC781
	.word	.LC782
	.word	.LC783
	.word	0
	.align	2
.LC784:
	.ascii	"bytelength\000"
	.align	2
.LC785:
	.ascii	"length\000"
	.align	2
.LC786:
	.ascii	"compare\000"
	.align	2
.LC787:
	.ascii	"match\000"
	.align	2
.LC788:
	.ascii	"equal\000"
	.align	2
.LC789:
	.ascii	"is\000"
	.align	2
.LC790:
	.ascii	"byterange\000"
	.align	2
.LC791:
	.ascii	"replace\000"
	.align	2
.LC792:
	.ascii	"map\000"
	.align	2
.LC793:
	.ascii	"repeat\000"
	.align	2
.LC794:
	.ascii	"reverse\000"
	.align	2
.LC795:
	.ascii	"first\000"
	.align	2
.LC796:
	.ascii	"last\000"
	.align	2
.LC797:
	.ascii	"cat\000"
	.align	2
.LC798:
	.ascii	"trim\000"
	.align	2
.LC799:
	.ascii	"trimleft\000"
	.align	2
.LC800:
	.ascii	"trimright\000"
	.align	2
.LC801:
	.ascii	"tolower\000"
	.align	2
.LC802:
	.ascii	"toupper\000"
	.align	2
.LC803:
	.ascii	"totitle\000"
	.align	2
	.type	options.16122, %object
	.size	options.16122, 92
options.16122:
	.word	.LC784
	.word	.LC785
	.word	.LC786
	.word	.LC787
	.word	.LC788
	.word	.LC789
	.word	.LC790
	.word	.LC658
	.word	.LC791
	.word	.LC792
	.word	.LC793
	.word	.LC794
	.word	.LC361
	.word	.LC795
	.word	.LC796
	.word	.LC797
	.word	.LC798
	.word	.LC799
	.word	.LC800
	.word	.LC801
	.word	.LC802
	.word	.LC803
	.word	0
	.align	2
.LC804:
	.ascii	"-length\000"
	.align	2
	.type	nocase_length_options.16147, %object
	.size	nocase_length_options.16147, 12
nocase_length_options.16147:
	.word	.LC483
	.word	.LC804
	.word	0
	.align	2
	.type	nocase_options.16146, %object
	.size	nocase_options.16146, 8
nocase_options.16146:
	.word	.LC483
	.word	0
	.align	2
	.type	max_ignore_code.16263, %object
	.size	max_ignore_code.16263, 4
max_ignore_code.16263:
	.word	32
	.align	2
.LC805:
	.ascii	"create\000"
	.align	2
.LC806:
	.ascii	"keys\000"
	.align	2
.LC807:
	.ascii	"merge\000"
	.align	2
.LC808:
	.ascii	"with\000"
	.align	2
.LC809:
	.ascii	"remove\000"
	.align	2
.LC810:
	.ascii	"values\000"
	.align	2
.LC811:
	.ascii	"update\000"
	.align	2
	.type	options.16402, %object
	.size	options.16402, 76
options.16402:
	.word	.LC805
	.word	.LC220
	.word	.LC223
	.word	.LC225
	.word	.LC147
	.word	.LC806
	.word	.LC105
	.word	.LC652
	.word	.LC807
	.word	.LC808
	.word	.LC636
	.word	.LC632
	.word	.LC469
	.word	.LC809
	.word	.LC810
	.word	.LC623
	.word	.LC791
	.word	.LC811
	.word	0
	.align	2
.LC812:
	.ascii	"-nobackslashes\000"
	.align	2
.LC813:
	.ascii	"-nocommands\000"
	.align	2
.LC814:
	.ascii	"-novariables\000"
	.align	2
	.type	options.16443, %object
	.size	options.16443, 16
options.16443:
	.word	.LC812
	.word	.LC813
	.word	.LC814
	.word	0
	.align	2
.LC815:
	.ascii	"body\000"
	.align	2
.LC816:
	.ascii	"statics\000"
	.align	2
.LC817:
	.ascii	"commands\000"
	.align	2
.LC818:
	.ascii	"procs\000"
	.align	2
.LC819:
	.ascii	"channels\000"
	.align	2
.LC820:
	.ascii	"globals\000"
	.align	2
.LC821:
	.ascii	"level\000"
	.align	2
.LC822:
	.ascii	"frame\000"
	.align	2
.LC823:
	.ascii	"locals\000"
	.align	2
.LC824:
	.ascii	"vars\000"
	.align	2
.LC825:
	.ascii	"version\000"
	.align	2
.LC826:
	.ascii	"patchlevel\000"
	.align	2
.LC827:
	.ascii	"complete\000"
	.align	2
.LC828:
	.ascii	"hostname\000"
	.align	2
.LC829:
	.ascii	"stacktrace\000"
	.align	2
.LC830:
	.ascii	"nameofexecutable\000"
	.align	2
.LC831:
	.ascii	"returncodes\000"
	.align	2
.LC832:
	.ascii	"references\000"
	.align	2
	.type	commands.16468, %object
	.size	commands.16468, 96
commands.16468:
	.word	.LC815
	.word	.LC816
	.word	.LC817
	.word	.LC818
	.word	.LC819
	.word	.LC147
	.word	.LC820
	.word	.LC821
	.word	.LC822
	.word	.LC823
	.word	.LC824
	.word	.LC825
	.word	.LC826
	.word	.LC827
	.word	.LC272
	.word	.LC828
	.word	.LC260
	.word	.LC258
	.word	.LC829
	.word	.LC830
	.word	.LC831
	.word	.LC832
	.word	.LC620
	.word	0
	.align	2
.LC833:
	.ascii	"-proc\000"
	.align	2
.LC834:
	.ascii	"-alias\000"
	.align	2
.LC835:
	.ascii	"-var\000"
	.align	2
	.type	options.16565, %object
	.size	options.16565, 20
options.16565:
	.word	.LC489
	.word	.LC833
	.word	.LC834
	.word	.LC835
	.word	0
	.align	2
	.type	mixedXPG.16933, %object
	.size	mixedXPG.16933, 4
mixedXPG.16933:
	.word	.LC431
	.align	2
.LC836:
	.ascii	"not enough arguments for all format specifiers\000"
	.align	2
	.type	badIndex.16934, %object
	.size	badIndex.16934, 8
badIndex.16934:
	.word	.LC836
	.word	.LC602
	.align	2
.LC837:
	.ascii	":alpha:\000"
	.align	2
.LC838:
	.ascii	":alnum:\000"
	.align	2
.LC839:
	.ascii	":space:\000"
	.align	2
.LC840:
	.ascii	":blank:\000"
	.align	2
.LC841:
	.ascii	":upper:\000"
	.align	2
.LC842:
	.ascii	":lower:\000"
	.align	2
.LC843:
	.ascii	":digit:\000"
	.align	2
.LC844:
	.ascii	":xdigit:\000"
	.align	2
.LC845:
	.ascii	":cntrl:\000"
	.align	2
.LC846:
	.ascii	":graph:\000"
	.align	2
.LC847:
	.ascii	":print:\000"
	.align	2
.LC848:
	.ascii	":punct:\000"
	.data
	.align	2
	.type	character_class.17183, %object
	.size	character_class.17183, 48
character_class.17183:
	.word	.LC837
	.word	.LC838
	.word	.LC839
	.word	.LC840
	.word	.LC841
	.word	.LC842
	.word	.LC843
	.word	.LC844
	.word	.LC845
	.word	.LC846
	.word	.LC847
	.word	.LC848
	.section	.rodata
	.align	2
.LC849:
	.ascii	"success\000"
	.align	2
.LC850:
	.ascii	"no match\000"
	.align	2
.LC851:
	.ascii	"bad pattern\000"
	.align	2
.LC852:
	.ascii	"null argument\000"
	.align	2
.LC853:
	.ascii	"unknown error\000"
	.align	2
.LC854:
	.ascii	"too big\000"
	.align	2
.LC855:
	.ascii	"out of memory\000"
	.align	2
.LC856:
	.ascii	"too many ()\000"
	.align	2
.LC857:
	.ascii	"parentheses () not balanced\000"
	.align	2
.LC858:
	.ascii	"braces {} not balanced\000"
	.align	2
.LC859:
	.ascii	"invalid repetition count(s)\000"
	.align	2
.LC860:
	.ascii	"extra characters\000"
	.align	2
.LC861:
	.ascii	"*+ of empty atom\000"
	.align	2
.LC862:
	.ascii	"nested count\000"
	.align	2
.LC863:
	.ascii	"internal error\000"
	.align	2
.LC864:
	.ascii	"count follows nothing\000"
	.align	2
.LC865:
	.ascii	"trailing backslash\000"
	.align	2
.LC866:
	.ascii	"corrupted program\000"
	.align	2
.LC867:
	.ascii	"contains null char\000"
	.data
	.align	2
	.type	error_strings.17474, %object
	.size	error_strings.17474, 76
error_strings.17474:
	.word	.LC849
	.word	.LC850
	.word	.LC851
	.word	.LC852
	.word	.LC853
	.word	.LC854
	.word	.LC855
	.word	.LC856
	.word	.LC857
	.word	.LC858
	.word	.LC859
	.word	.LC860
	.word	.LC861
	.word	.LC862
	.word	.LC863
	.word	.LC864
	.word	.LC865
	.word	.LC866
	.word	.LC867
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
