5f1e9f:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1ea2:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1ea5:	50                   	push   %eax
5f1ea6:	ff 75 08             	push   0x8(%ebp)
5f1ea9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5f1ead:	e8 37 36 00 00       	call   0x5f54e9
5f1eb2:	59                   	pop    %ecx
5f1eb3:	59                   	pop    %ecx
5f1eb4:	c9                   	leave
5f1eb5:	c3                   	ret
5f1eb6:	8b ff                	mov    %edi,%edi
5f1eb8:	55                   	push   %ebp
5f1eb9:	8b ec                	mov    %esp,%ebp
5f1ebb:	51                   	push   %ecx
5f1ebc:	51                   	push   %ecx
5f1ebd:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1ec0:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1ec3:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1ec6:	50                   	push   %eax
5f1ec7:	ff 75 08             	push   0x8(%ebp)
5f1eca:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5f1ece:	e8 16 36 00 00       	call   0x5f54e9
5f1ed3:	59                   	pop    %ecx
5f1ed4:	59                   	pop    %ecx
5f1ed5:	c9                   	leave
5f1ed6:	c3                   	ret
5f1ed7:	8b ff                	mov    %edi,%edi
5f1ed9:	55                   	push   %ebp
5f1eda:	8b ec                	mov    %esp,%ebp
5f1edc:	ff 75 18             	push   0x18(%ebp)
5f1edf:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f1ee2:	ff 75 14             	push   0x14(%ebp)
5f1ee5:	ff 75 10             	push   0x10(%ebp)
5f1ee8:	ff 75 0c             	push   0xc(%ebp)
5f1eeb:	e8 67 11 00 00       	call   0x5f3057
5f1ef0:	8b 45 08             	mov    0x8(%ebp),%eax
5f1ef3:	5d                   	pop    %ebp
5f1ef4:	c3                   	ret
5f1ef5:	8b ff                	mov    %edi,%edi
5f1ef7:	55                   	push   %ebp
5f1ef8:	8b ec                	mov    %esp,%ebp
5f1efa:	81 ec 10 03 00 00    	sub    $0x310,%esp
5f1f00:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5f1f05:	33 c5                	xor    %ebp,%eax
5f1f07:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f1f0a:	8b 45 08             	mov    0x8(%ebp),%eax
5f1f0d:	56                   	push   %esi
5f1f0e:	8b 75 2c             	mov    0x2c(%ebp),%esi
5f1f11:	85 f6                	test   %esi,%esi
5f1f13:	74 04                	je     0x5f1f19
5f1f15:	85 c0                	test   %eax,%eax
5f1f17:	75 15                	jne    0x5f1f2e
5f1f19:	e8 db b0 ff ff       	call   0x5ecff9
5f1f1e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1f24:	e8 f6 af ff ff       	call   0x5ecf1f
5f1f29:	33 c0                	xor    %eax,%eax
5f1f2b:	40                   	inc    %eax
5f1f2c:	eb 22                	jmp    0x5f1f50
5f1f2e:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5f1f34:	51                   	push   %ecx
5f1f35:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f1f38:	51                   	push   %ecx
5f1f39:	50                   	push   %eax
5f1f3a:	e8 a8 00 00 00       	call   0x5f1fe7
5f1f3f:	56                   	push   %esi
5f1f40:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5f1f46:	51                   	push   %ecx
5f1f47:	50                   	push   %eax
5f1f48:	e8 45 07 00 00       	call   0x5f2692
5f1f4d:	83 c4 18             	add    $0x18,%esp
5f1f50:	8b 55 24             	mov    0x24(%ebp),%edx
5f1f53:	5e                   	pop    %esi
5f1f54:	85 d2                	test   %edx,%edx
5f1f56:	74 0a                	je     0x5f1f62
5f1f58:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5f1f5b:	0b 4d 20             	or     0x20(%ebp),%ecx
5f1f5e:	75 02                	jne    0x5f1f62
5f1f60:	88 0a                	mov    %cl,(%edx)
5f1f62:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f1f65:	33 cd                	xor    %ebp,%ecx
5f1f67:	e8 6e f5 fe ff       	call   0x5e14da
5f1f6c:	c9                   	leave
5f1f6d:	c3                   	ret
5f1f6e:	8b ff                	mov    %edi,%edi
5f1f70:	55                   	push   %ebp
5f1f71:	8b ec                	mov    %esp,%ebp
5f1f73:	81 ec 10 03 00 00    	sub    $0x310,%esp
5f1f79:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5f1f7e:	33 c5                	xor    %ebp,%eax
5f1f80:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f1f83:	8b 45 08             	mov    0x8(%ebp),%eax
5f1f86:	56                   	push   %esi
5f1f87:	8b 75 2c             	mov    0x2c(%ebp),%esi
5f1f8a:	85 f6                	test   %esi,%esi
5f1f8c:	74 04                	je     0x5f1f92
5f1f8e:	85 c0                	test   %eax,%eax
5f1f90:	75 15                	jne    0x5f1fa7
5f1f92:	e8 62 b0 ff ff       	call   0x5ecff9
5f1f97:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1f9d:	e8 7d af ff ff       	call   0x5ecf1f
5f1fa2:	33 c0                	xor    %eax,%eax
5f1fa4:	40                   	inc    %eax
5f1fa5:	eb 22                	jmp    0x5f1fc9
5f1fa7:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5f1fad:	51                   	push   %ecx
5f1fae:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5f1fb1:	51                   	push   %ecx
5f1fb2:	50                   	push   %eax
5f1fb3:	e8 2f 00 00 00       	call   0x5f1fe7
5f1fb8:	56                   	push   %esi
5f1fb9:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
5f1fbf:	51                   	push   %ecx
5f1fc0:	50                   	push   %eax
5f1fc1:	e8 38 08 00 00       	call   0x5f27fe
5f1fc6:	83 c4 18             	add    $0x18,%esp
5f1fc9:	8b 55 24             	mov    0x24(%ebp),%edx
5f1fcc:	5e                   	pop    %esi
5f1fcd:	85 d2                	test   %edx,%edx
5f1fcf:	74 0a                	je     0x5f1fdb
5f1fd1:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
5f1fd4:	0b 4d 20             	or     0x20(%ebp),%ecx
5f1fd7:	75 02                	jne    0x5f1fdb
5f1fd9:	88 0a                	mov    %cl,(%edx)
5f1fdb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f1fde:	33 cd                	xor    %ebp,%ecx
5f1fe0:	e8 f5 f4 fe ff       	call   0x5e14da
5f1fe5:	c9                   	leave
5f1fe6:	c3                   	ret
5f1fe7:	8b ff                	mov    %edi,%edi
5f1fe9:	55                   	push   %ebp
5f1fea:	8b ec                	mov    %esp,%ebp
5f1fec:	83 ec 24             	sub    $0x24,%esp
5f1fef:	53                   	push   %ebx
5f1ff0:	56                   	push   %esi
5f1ff1:	8b 75 0c             	mov    0xc(%ebp),%esi
5f1ff4:	8b ce                	mov    %esi,%ecx
5f1ff6:	57                   	push   %edi
5f1ff7:	e8 2d 44 00 00       	call   0x5f6429
5f1ffc:	84 c0                	test   %al,%al
5f1ffe:	0f 84 38 04 00 00    	je     0x5f243c
5f2004:	8b 46 10             	mov    0x10(%esi),%eax
5f2007:	8b ce                	mov    %esi,%ecx
5f2009:	89 45 e8             	mov    %eax,-0x18(%ebp)
5f200c:	8b 46 14             	mov    0x14(%esi),%eax
5f200f:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f2012:	e8 31 3a 00 00       	call   0x5f5a48
5f2017:	8b 5d 08             	mov    0x8(%ebp),%ebx
5f201a:	8d 4d f9             	lea    -0x7(%ebp),%ecx
5f201d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
5f2020:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5f2023:	89 75 dc             	mov    %esi,-0x24(%ebp)
5f2026:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f2029:	eb 07                	jmp    0x5f2032
5f202b:	8b ce                	mov    %esi,%ecx
5f202d:	e8 16 3a 00 00       	call   0x5f5a48
5f2032:	53                   	push   %ebx
5f2033:	88 45 f9             	mov    %al,-0x7(%ebp)
5f2036:	0f b6 c0             	movzbl %al,%eax
5f2039:	6a 08                	push   $0x8
5f203b:	50                   	push   %eax
5f203c:	e8 73 bc ff ff       	call   0x5edcb4
5f2041:	83 c4 0c             	add    $0xc,%esp
5f2044:	85 c0                	test   %eax,%eax
5f2046:	75 e3                	jne    0x5f202b
5f2048:	8a 4d f9             	mov    -0x7(%ebp),%cl
5f204b:	8b 55 10             	mov    0x10(%ebp),%edx
5f204e:	80 f9 2d             	cmp    $0x2d,%cl
5f2051:	0f 94 c0             	sete   %al
5f2054:	88 82 08 03 00 00    	mov    %al,0x308(%edx)
5f205a:	74 05                	je     0x5f2061
5f205c:	80 f9 2b             	cmp    $0x2b,%cl
5f205f:	75 0c                	jne    0x5f206d
5f2061:	8b ce                	mov    %esi,%ecx
5f2063:	e8 e0 39 00 00       	call   0x5f5a48
5f2068:	8a c8                	mov    %al,%cl
5f206a:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f206d:	80 f9 49             	cmp    $0x49,%cl
5f2070:	0f 84 b4 03 00 00    	je     0x5f242a
5f2076:	80 f9 69             	cmp    $0x69,%cl
5f2079:	0f 84 ab 03 00 00    	je     0x5f242a
5f207f:	80 f9 4e             	cmp    $0x4e,%cl
5f2082:	0f 84 8d 03 00 00    	je     0x5f2415
5f2088:	80 f9 6e             	cmp    $0x6e,%cl
5f208b:	0f 84 84 03 00 00    	je     0x5f2415
5f2091:	33 db                	xor    %ebx,%ebx
5f2093:	88 5d ff             	mov    %bl,-0x1(%ebp)
5f2096:	80 f9 30             	cmp    $0x30,%cl
5f2099:	75 43                	jne    0x5f20de
5f209b:	8b 46 14             	mov    0x14(%esi),%eax
5f209e:	8b ce                	mov    %esi,%ecx
5f20a0:	8b 7e 10             	mov    0x10(%esi),%edi
5f20a3:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f20a6:	e8 9d 39 00 00       	call   0x5f5a48
5f20ab:	88 45 f4             	mov    %al,-0xc(%ebp)
5f20ae:	3c 78                	cmp    $0x78,%al
5f20b0:	74 13                	je     0x5f20c5
5f20b2:	3c 58                	cmp    $0x58,%al
5f20b4:	74 0f                	je     0x5f20c5
5f20b6:	ff 75 f4             	push   -0xc(%ebp)
5f20b9:	8b ce                	mov    %esi,%ecx
5f20bb:	e8 e7 42 00 00       	call   0x5f63a7
5f20c0:	8a 4d f9             	mov    -0x7(%ebp),%cl
5f20c3:	eb 19                	jmp    0x5f20de
5f20c5:	8b ce                	mov    %esi,%ecx
5f20c7:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
5f20cb:	e8 78 39 00 00       	call   0x5f5a48
5f20d0:	8a c8                	mov    %al,%cl
5f20d2:	89 7d e8             	mov    %edi,-0x18(%ebp)
5f20d5:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f20d8:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f20db:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f20de:	8b 55 10             	mov    0x10(%ebp),%edx
5f20e1:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5f20e4:	88 5d fe             	mov    %bl,-0x2(%ebp)
5f20e7:	8d 7a 08             	lea    0x8(%edx),%edi
5f20ea:	80 f9 30             	cmp    $0x30,%cl
5f20ed:	75 18                	jne    0x5f2107
5f20ef:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
5f20f3:	8b ce                	mov    %esi,%ecx
5f20f5:	e8 4e 39 00 00       	call   0x5f5a48
5f20fa:	8a c8                	mov    %al,%cl
5f20fc:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f20ff:	80 f9 30             	cmp    $0x30,%cl
5f2102:	74 ef                	je     0x5f20f3
5f2104:	8b 55 10             	mov    0x10(%ebp),%edx
5f2107:	33 db                	xor    %ebx,%ebx
5f2109:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5f210c:	0f 94 c3             	sete   %bl
5f210f:	4b                   	dec    %ebx
5f2110:	83 e3 06             	and    $0x6,%ebx
5f2113:	83 c3 09             	add    $0x9,%ebx
5f2116:	89 5d f0             	mov    %ebx,-0x10(%ebp)
5f2119:	8a c1                	mov    %cl,%al
5f211b:	2c 30                	sub    $0x30,%al
5f211d:	3c 09                	cmp    $0x9,%al
5f211f:	77 08                	ja     0x5f2129
5f2121:	0f be c1             	movsbl %cl,%eax
5f2124:	83 e8 30             	sub    $0x30,%eax
5f2127:	eb 23                	jmp    0x5f214c
5f2129:	8a c1                	mov    %cl,%al
5f212b:	2c 61                	sub    $0x61,%al
5f212d:	3c 19                	cmp    $0x19,%al
5f212f:	77 08                	ja     0x5f2139
5f2131:	0f be c1             	movsbl %cl,%eax
5f2134:	83 e8 57             	sub    $0x57,%eax
5f2137:	eb 13                	jmp    0x5f214c
5f2139:	8a c1                	mov    %cl,%al
5f213b:	2c 41                	sub    $0x41,%al
5f213d:	3c 19                	cmp    $0x19,%al
5f213f:	77 08                	ja     0x5f2149
5f2141:	0f be c1             	movsbl %cl,%eax
5f2144:	83 e8 37             	sub    $0x37,%eax
5f2147:	eb 03                	jmp    0x5f214c
5f2149:	83 c8 ff             	or     $0xffffffff,%eax
5f214c:	3b c3                	cmp    %ebx,%eax
5f214e:	77 25                	ja     0x5f2175
5f2150:	8d 8a 08 03 00 00    	lea    0x308(%edx),%ecx
5f2156:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
5f215a:	3b f9                	cmp    %ecx,%edi
5f215c:	74 03                	je     0x5f2161
5f215e:	88 07                	mov    %al,(%edi)
5f2160:	47                   	inc    %edi
5f2161:	ff 45 f4             	incl   -0xc(%ebp)
5f2164:	8b ce                	mov    %esi,%ecx
5f2166:	e8 dd 38 00 00       	call   0x5f5a48
5f216b:	8b 55 10             	mov    0x10(%ebp),%edx
5f216e:	8a c8                	mov    %al,%cl
5f2170:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f2173:	eb a4                	jmp    0x5f2119
5f2175:	8b 45 08             	mov    0x8(%ebp),%eax
5f2178:	6a 00                	push   $0x0
5f217a:	5b                   	pop    %ebx
5f217b:	8b 00                	mov    (%eax),%eax
5f217d:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
5f2183:	8b 00                	mov    (%eax),%eax
5f2185:	3a 08                	cmp    (%eax),%cl
5f2187:	0f 85 98 00 00 00    	jne    0x5f2225
5f218d:	8b ce                	mov    %esi,%ecx
5f218f:	e8 b4 38 00 00       	call   0x5f5a48
5f2194:	8b 55 10             	mov    0x10(%ebp),%edx
5f2197:	8a c8                	mov    %al,%cl
5f2199:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f219c:	8d 42 08             	lea    0x8(%edx),%eax
5f219f:	3b f8                	cmp    %eax,%edi
5f21a1:	75 24                	jne    0x5f21c7
5f21a3:	80 f9 30             	cmp    $0x30,%cl
5f21a6:	75 1f                	jne    0x5f21c7
5f21a8:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5f21ab:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
5f21af:	8b ce                	mov    %esi,%ecx
5f21b1:	4b                   	dec    %ebx
5f21b2:	e8 91 38 00 00       	call   0x5f5a48
5f21b7:	8a c8                	mov    %al,%cl
5f21b9:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f21bc:	80 f9 30             	cmp    $0x30,%cl
5f21bf:	74 ee                	je     0x5f21af
5f21c1:	8b 55 10             	mov    0x10(%ebp),%edx
5f21c4:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5f21c7:	8b 5d f0             	mov    -0x10(%ebp),%ebx
5f21ca:	8a c1                	mov    %cl,%al
5f21cc:	2c 30                	sub    $0x30,%al
5f21ce:	3c 09                	cmp    $0x9,%al
5f21d0:	77 08                	ja     0x5f21da
5f21d2:	0f be c1             	movsbl %cl,%eax
5f21d5:	83 e8 30             	sub    $0x30,%eax
5f21d8:	eb 23                	jmp    0x5f21fd
5f21da:	8a c1                	mov    %cl,%al
5f21dc:	2c 61                	sub    $0x61,%al
5f21de:	3c 19                	cmp    $0x19,%al
5f21e0:	77 08                	ja     0x5f21ea
5f21e2:	0f be c1             	movsbl %cl,%eax
5f21e5:	83 e8 57             	sub    $0x57,%eax
5f21e8:	eb 13                	jmp    0x5f21fd
5f21ea:	8a c1                	mov    %cl,%al
5f21ec:	2c 41                	sub    $0x41,%al
5f21ee:	3c 19                	cmp    $0x19,%al
5f21f0:	77 08                	ja     0x5f21fa
5f21f2:	0f be c1             	movsbl %cl,%eax
5f21f5:	83 e8 37             	sub    $0x37,%eax
5f21f8:	eb 03                	jmp    0x5f21fd
5f21fa:	83 c8 ff             	or     $0xffffffff,%eax
5f21fd:	3b c3                	cmp    %ebx,%eax
5f21ff:	77 22                	ja     0x5f2223
5f2201:	8d 8a 08 03 00 00    	lea    0x308(%edx),%ecx
5f2207:	c6 45 fe 01          	movb   $0x1,-0x2(%ebp)
5f220b:	3b f9                	cmp    %ecx,%edi
5f220d:	74 03                	je     0x5f2212
5f220f:	88 07                	mov    %al,(%edi)
5f2211:	47                   	inc    %edi
5f2212:	8b ce                	mov    %esi,%ecx
5f2214:	e8 2f 38 00 00       	call   0x5f5a48
5f2219:	8b 55 10             	mov    0x10(%ebp),%edx
5f221c:	8a c8                	mov    %al,%cl
5f221e:	88 4d f9             	mov    %cl,-0x7(%ebp)
5f2221:	eb a7                	jmp    0x5f21ca
5f2223:	33 db                	xor    %ebx,%ebx
5f2225:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
5f2229:	75 21                	jne    0x5f224c
5f222b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5f222e:	e8 99 0e 00 00       	call   0x5f30cc
5f2233:	84 c0                	test   %al,%al
5f2235:	0f 84 01 02 00 00    	je     0x5f243c
5f223b:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
5f223f:	0f 84 f7 01 00 00    	je     0x5f243c
5f2245:	6a 02                	push   $0x2
5f2247:	e9 f2 01 00 00       	jmp    0x5f243e
5f224c:	ff 75 f9             	push   -0x7(%ebp)
5f224f:	8b ce                	mov    %esi,%ecx
5f2251:	e8 51 41 00 00       	call   0x5f63a7
5f2256:	8b 46 10             	mov    0x10(%esi),%eax