417ec8:	e9 28 fd ff ff       	jmp    0x417bf5
417ecd:	6a 04                	push   $0x4
417ecf:	58                   	pop    %eax
417ed0:	03 f0                	add    %eax,%esi
417ed2:	6a 5c                	push   $0x5c
417ed4:	58                   	pop    %eax
417ed5:	89 75 fc             	mov    %esi,-0x4(%ebp)
417ed8:	66 39 06             	cmp    %ax,(%esi)
417edb:	6a 04                	push   $0x4
417edd:	58                   	pop    %eax
417ede:	0f 84 f6 c2 03 00    	je     0x4541da
417ee4:	0f b7 06             	movzwl (%esi),%eax
417ee7:	66 85 c0             	test   %ax,%ax
417eea:	0f 84 e8 03 00 00    	je     0x4182d8
417ef0:	85 ff                	test   %edi,%edi
417ef2:	75 0c                	jne    0x417f00
417ef4:	6a 5d                	push   $0x5d
417ef6:	5f                   	pop    %edi
417ef7:	66 3b c7             	cmp    %di,%ax
417efa:	0f 84 d8 03 00 00    	je     0x4182d8
417f00:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
417f04:	8b f8                	mov    %eax,%edi
417f06:	89 7d e8             	mov    %edi,-0x18(%ebp)
417f09:	74 14                	je     0x417f1f
417f0b:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
417f10:	23 c1                	and    %ecx,%eax
417f12:	b9 00 d8 00 00       	mov    $0xd800,%ecx
417f17:	3b c1                	cmp    %ecx,%eax
417f19:	0f 84 2a c3 03 00    	je     0x454249
417f1f:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
417f23:	75 14                	jne    0x417f39
417f25:	6a 5c                	push   $0x5c
417f27:	58                   	pop    %eax
417f28:	3b f8                	cmp    %eax,%edi
417f2a:	0f 84 3e c3 03 00    	je     0x45426e
417f30:	83 ff 5b             	cmp    $0x5b,%edi
417f33:	0f 84 7d c3 03 00    	je     0x4542b6
417f39:	8b 4d 0c             	mov    0xc(%ebp),%ecx
417f3c:	3b fb                	cmp    %ebx,%edi
417f3e:	0f 82 5d c7 03 00    	jb     0x4546a1
417f44:	0f 84 04 f8 ff ff    	je     0x41774e
417f4a:	6a 02                	push   $0x2
417f4c:	58                   	pop    %eax
417f4d:	6a 0d                	push   $0xd
417f4f:	89 45 a8             	mov    %eax,-0x58(%ebp)
417f52:	58                   	pop    %eax
417f53:	3b f8                	cmp    %eax,%edi
417f55:	0f 84 9b c3 03 00    	je     0x4542f6
417f5b:	6a 0a                	push   $0xa
417f5d:	58                   	pop    %eax
417f5e:	3b f8                	cmp    %eax,%edi
417f60:	0f 84 90 c3 03 00    	je     0x4542f6
417f66:	8b 45 28             	mov    0x28(%ebp),%eax
417f69:	57                   	push   %edi
417f6a:	53                   	push   %ebx
417f6b:	50                   	push   %eax
417f6c:	e9 01 f8 ff ff       	jmp    0x417772
417f71:	8b 55 f8             	mov    -0x8(%ebp),%edx
417f74:	6a 10                	push   $0x10
417f76:	59                   	pop    %ecx
417f77:	6a 09                	push   $0x9
417f79:	66 89 0a             	mov    %cx,(%edx)
417f7c:	03 d6                	add    %esi,%edx
417f7e:	59                   	pop    %ecx
417f7f:	66 89 0a             	mov    %cx,(%edx)
417f82:	03 d6                	add    %esi,%edx
417f84:	66 89 02             	mov    %ax,(%edx)
417f87:	03 d6                	add    %esi,%edx
417f89:	83 7d d4 fe          	cmpl   $0xfffffffe,-0x2c(%ebp)
417f8d:	89 55 f8             	mov    %edx,-0x8(%ebp)
417f90:	0f 85 dc f8 ff ff    	jne    0x417872
417f96:	e9 a2 c4 03 00       	jmp    0x45443d
417f9b:	83 cb ff             	or     $0xffffffff,%ebx
417f9e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
417fa1:	e9 32 f8 ff ff       	jmp    0x4177d8
417fa6:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
417fac:	b9 eb ff ff 7f       	mov    $0x7fffffeb,%ecx
417fb1:	8b 12                	mov    (%edx),%edx
417fb3:	2b ca                	sub    %edx,%ecx
417fb5:	8d 47 fc             	lea    -0x4(%edi),%eax
417fb8:	3b c8                	cmp    %eax,%ecx
417fba:	0f 8c 41 c6 03 00    	jl     0x454601
417fc0:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
417fc3:	8d 47 fc             	lea    -0x4(%edi),%eax
417fc6:	8b 7d f8             	mov    -0x8(%ebp),%edi
417fc9:	03 c2                	add    %edx,%eax
417fcb:	6a 02                	push   $0x2
417fcd:	89 01                	mov    %eax,(%ecx)
417fcf:	59                   	pop    %ecx
417fd0:	03 f9                	add    %ecx,%edi
417fd2:	6a 78                	push   $0x78
417fd4:	58                   	pop    %eax
417fd5:	66 89 0f             	mov    %cx,(%edi)
417fd8:	03 f9                	add    %ecx,%edi
417fda:	66 89 07             	mov    %ax,(%edi)
417fdd:	03 f9                	add    %ecx,%edi
417fdf:	66 89 0f             	mov    %cx,(%edi)
417fe2:	03 f9                	add    %ecx,%edi
417fe4:	e9 43 f8 ff ff       	jmp    0x41782c
417fe9:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
417fec:	83 f9 fe             	cmp    $0xfffffffe,%ecx
417fef:	75 06                	jne    0x417ff7
417ff1:	83 c9 ff             	or     $0xffffffff,%ecx
417ff4:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
417ff7:	8b 45 9c             	mov    -0x64(%ebp),%eax
417ffa:	8b da                	mov    %edx,%ebx
417ffc:	8b 7d a4             	mov    -0x5c(%ebp),%edi
417fff:	89 45 84             	mov    %eax,-0x7c(%ebp)
418002:	8b 45 ac             	mov    -0x54(%ebp),%eax
418005:	89 45 a8             	mov    %eax,-0x58(%ebp)
418008:	8b 45 cc             	mov    -0x34(%ebp),%eax
41800b:	6a 04                	push   $0x4
41800d:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
418010:	59                   	pop    %ecx
418011:	0f be c0             	movsbl %al,%eax
418014:	23 c1                	and    %ecx,%eax
418016:	89 7d d8             	mov    %edi,-0x28(%ebp)
418019:	6a 30                	push   $0x30
41801b:	59                   	pop    %ecx
41801c:	0b c1                	or     %ecx,%eax
41801e:	c1 e8 02             	shr    $0x2,%eax
418021:	89 5d f0             	mov    %ebx,-0x10(%ebp)
418024:	66 89 02             	mov    %ax,(%edx)
418027:	6a 02                	push   $0x2
418029:	58                   	pop    %eax
41802a:	03 d0                	add    %eax,%edx
41802c:	89 55 f8             	mov    %edx,-0x8(%ebp)
41802f:	e9 e4 f4 ff ff       	jmp    0x417518
418034:	83 ff 1a             	cmp    $0x1a,%edi
418037:	0f 84 fb b3 03 00    	je     0x453438
41803d:	83 ff 19             	cmp    $0x19,%edi
418040:	0f 84 cf f4 ff ff    	je     0x417515
418046:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
418049:	83 f9 fe             	cmp    $0xfffffffe,%ecx
41804c:	75 0e                	jne    0x41805c
41804e:	8d 47 fa             	lea    -0x6(%edi),%eax
418051:	83 f8 10             	cmp    $0x10,%eax
418054:	77 06                	ja     0x41805c
418056:	83 c9 ff             	or     $0xffffffff,%ecx
418059:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
41805c:	8b 45 9c             	mov    -0x64(%ebp),%eax
41805f:	89 45 84             	mov    %eax,-0x7c(%ebp)
418062:	8b 45 a4             	mov    -0x5c(%ebp),%eax
418065:	89 45 d8             	mov    %eax,-0x28(%ebp)
418068:	8b 45 ac             	mov    -0x54(%ebp),%eax
41806b:	6a 1b                	push   $0x1b
41806d:	89 45 a8             	mov    %eax,-0x58(%ebp)
418070:	58                   	pop    %eax
418071:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
418074:	3b f8                	cmp    %eax,%edi
418076:	0f 84 e4 b3 03 00    	je     0x453460
41807c:	6a 1c                	push   $0x1c
41807e:	58                   	pop    %eax
41807f:	3b f8                	cmp    %eax,%edi
418081:	0f 84 dc b6 03 00    	je     0x453763
418087:	85 ff                	test   %edi,%edi
418089:	0f 88 1f 02 00 00    	js     0x4182ae
41808f:	6a 0f                	push   $0xf
418091:	58                   	pop    %eax
418092:	3b f8                	cmp    %eax,%edi
418094:	0f 84 30 bb 03 00    	je     0x453bca
41809a:	6a 10                	push   $0x10
41809c:	58                   	pop    %eax
41809d:	3b f8                	cmp    %eax,%edi
41809f:	0f 84 25 bb 03 00    	je     0x453bca
4180a5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4180a8:	83 ff 05             	cmp    $0x5,%edi
4180ab:	0f 84 e7 ba 03 00    	je     0x453b98
4180b1:	6a 04                	push   $0x4
4180b3:	58                   	pop    %eax
4180b4:	3b f8                	cmp    %eax,%edi
4180b6:	0f 84 dc ba 03 00    	je     0x453b98
4180bc:	3b f9                	cmp    %ecx,%edi
4180be:	0f 84 d4 ba 03 00    	je     0x453b98
4180c4:	6a 1d                	push   $0x1d
4180c6:	58                   	pop    %eax
4180c7:	3b f8                	cmp    %eax,%edi
4180c9:	0f 8d da ba 03 00    	jge    0x453ba9
4180cf:	8b 55 f8             	mov    -0x8(%ebp),%edx
4180d2:	8d 47 fa             	lea    -0x6(%edi),%eax
4180d5:	6a 10                	push   $0x10
4180d7:	59                   	pop    %ecx
4180d8:	3b c8                	cmp    %eax,%ecx
4180da:	1b db                	sbb    %ebx,%ebx
4180dc:	f7 d3                	not    %ebx
4180de:	23 da                	and    %edx,%ebx
4180e0:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
4180e4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4180e7:	0f 84 ca ba 03 00    	je     0x453bb7
4180ed:	6a 02                	push   $0x2
4180ef:	66 89 3a             	mov    %di,(%edx)
4180f2:	5e                   	pop    %esi
4180f3:	03 d6                	add    %esi,%edx
4180f5:	89 55 f8             	mov    %edx,-0x8(%ebp)
4180f8:	8b 75 fc             	mov    -0x4(%ebp),%esi
4180fb:	e9 1e f4 ff ff       	jmp    0x41751e
418100:	8b 9d 18 ff ff ff    	mov    -0xe8(%ebp),%ebx
418106:	8b f1                	mov    %ecx,%esi
418108:	89 75 fc             	mov    %esi,-0x4(%ebp)
41810b:	e9 66 fa ff ff       	jmp    0x417b76
418110:	6a 34                	push   $0x34
418112:	5f                   	pop    %edi
418113:	8b d9                	mov    %ecx,%ebx
418115:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418118:	6a 10                	push   $0x10
41811a:	5a                   	pop    %edx
41811b:	0f b7 01             	movzwl (%ecx),%eax
41811e:	66 3b c2             	cmp    %dx,%ax
418121:	0f 84 67 af 03 00    	je     0x45308e
418127:	6a 0f                	push   $0xf
418129:	5a                   	pop    %edx
41812a:	66 3b c2             	cmp    %dx,%ax
41812d:	0f 84 5b af 03 00    	je     0x45308e
418133:	83 4d ec ff          	orl    $0xffffffff,-0x14(%ebp)
418137:	83 ca ff             	or     $0xffffffff,%edx
41813a:	8b 45 f0             	mov    -0x10(%ebp),%eax
41813d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
418140:	89 45 f8             	mov    %eax,-0x8(%ebp)
418143:	8b 45 c0             	mov    -0x40(%ebp),%eax
418146:	89 55 dc             	mov    %edx,-0x24(%ebp)
418149:	85 c0                	test   %eax,%eax
41814b:	0f 84 c1 fa ff ff    	je     0x417c12
418151:	01 7d e4             	add    %edi,-0x1c(%ebp)
418154:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
418158:	0f 85 6c af 03 00    	jne    0x4530ca
41815e:	83 f8 ff             	cmp    $0xffffffff,%eax
418161:	0f 85 37 af 03 00    	jne    0x45309e
418167:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41816a:	83 c0 21             	add    $0x21,%eax
41816d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418170:	66 89 01             	mov    %ax,(%ecx)
418173:	8d 79 02             	lea    0x2(%ecx),%edi
418176:	8b 75 ec             	mov    -0x14(%ebp),%esi
418179:	6a 02                	push   $0x2
41817b:	59                   	pop    %ecx
41817c:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
418180:	74 0c                	je     0x41818e
418182:	f7 c3 00 00 00 10    	test   $0x10000000,%ebx
418188:	0f 85 81 b0 03 00    	jne    0x45320f
41818e:	66 89 1f             	mov    %bx,(%edi)
418191:	03 f9                	add    %ecx,%edi
418193:	89 7d f8             	mov    %edi,-0x8(%ebp)
418196:	85 d2                	test   %edx,%edx
418198:	0f 89 2b ae 03 00    	jns    0x452fc9
41819e:	8b 75 fc             	mov    -0x4(%ebp),%esi
4181a1:	e9 0c fd ff ff       	jmp    0x417eb2
4181a6:	85 d2                	test   %edx,%edx
4181a8:	0f 8e e6 fc ff ff    	jle    0x417e94
4181ae:	e9 d1 aa 03 00       	jmp    0x452c84
4181b3:	8d 4e 02             	lea    0x2(%esi),%ecx
4181b6:	66 39 11             	cmp    %dx,(%ecx)
4181b9:	0f 84 f6 00 00 00    	je     0x4182b5
4181bf:	6a 03                	push   $0x3
4181c1:	ba c0 fb 48 00       	mov    $0x48fbc0,%edx
4181c6:	e8 ca 01 00 00       	call   0x418395
4181cb:	59                   	pop    %ecx
4181cc:	85 c0                	test   %eax,%eax
4181ce:	0f 85 b1 f4 ff ff    	jne    0x417685
4181d4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4181d7:	83 c6 06             	add    $0x6,%esi
4181da:	e9 75 f4 ff ff       	jmp    0x417654
4181df:	ff 75 f4             	push   -0xc(%ebp)
4181e2:	8b 5d 28             	mov    0x28(%ebp),%ebx
4181e5:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
4181eb:	ff 75 cc             	push   -0x34(%ebp)
4181ee:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4181f1:	ff 73 40             	push   0x40(%ebx)
4181f4:	ff 75 0c             	push   0xc(%ebp)
4181f7:	e8 c8 01 00 00       	call   0x4183c4
4181fc:	8b 55 0c             	mov    0xc(%ebp),%edx
4181ff:	33 c9                	xor    %ecx,%ecx
418201:	83 c4 10             	add    $0x10,%esp
418204:	8b f0                	mov    %eax,%esi
418206:	39 0a                	cmp    %ecx,(%edx)
418208:	0f 85 ef 00 00 00    	jne    0x4182fd
41820e:	85 f6                	test   %esi,%esi
418210:	0f 85 a9 00 00 00    	jne    0x4182bf
418216:	8b 9d 6c ff ff ff    	mov    -0x94(%ebp),%ebx
41821c:	8b 75 fc             	mov    -0x4(%ebp),%esi
41821f:	89 5d e8             	mov    %ebx,-0x18(%ebp)
418222:	e9 ee f4 ff ff       	jmp    0x417715
418227:	85 c0                	test   %eax,%eax
418229:	0f 89 ab f8 ff ff    	jns    0x417ada
41822f:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
418235:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
41823b:	8b c1                	mov    %ecx,%eax
41823d:	0b c7                	or     %edi,%eax
41823f:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
418245:	e9 88 f8 ff ff       	jmp    0x417ad2
41824a:	8b d0                	mov    %eax,%edx
41824c:	89 55 f8             	mov    %edx,-0x8(%ebp)
41824f:	e9 9b f0 ff ff       	jmp    0x4172ef
418254:	bb ff 00 00 00       	mov    $0xff,%ebx
418259:	e9 47 9a 03 00       	jmp    0x451ca5
41825e:	8b 7d f4             	mov    -0xc(%ebp),%edi
418261:	e9 f4 f9 ff ff       	jmp    0x417c5a
418266:	03 f2                	add    %edx,%esi
418268:	89 75 fc             	mov    %esi,-0x4(%ebp)
41826b:	e9 93 a3 03 00       	jmp    0x452603
418270:	bb 83 00 00 00       	mov    $0x83,%ebx
418275:	e9 f3 b3 03 00       	jmp    0x45366d
41827a:	83 c6 02             	add    $0x2,%esi
41827d:	e9 ae a6 03 00       	jmp    0x452930
418282:	89 45 f8             	mov    %eax,-0x8(%ebp)
418285:	e9 88 f9 ff ff       	jmp    0x417c12
41828a:	bb 83 00 00 00       	mov    $0x83,%ebx
41828f:	e9 9d a3 03 00       	jmp    0x452631
418294:	8b 55 f4             	mov    -0xc(%ebp),%edx
418297:	33 c9                	xor    %ecx,%ecx
418299:	e9 3b f7 ff ff       	jmp    0x4179d9
41829e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4182a1:	e9 33 f7 ff ff       	jmp    0x4179d9
4182a6:	ff 48 5c             	decl   0x5c(%eax)
4182a9:	e9 a0 f7 ff ff       	jmp    0x417a4e
4182ae:	f7 df                	neg    %edi
4182b0:	e9 69 b8 03 00       	jmp    0x453b1e
4182b5:	6a 5c                	push   $0x5c
4182b7:	8b f1                	mov    %ecx,%esi
4182b9:	59                   	pop    %ecx
4182ba:	e9 9b f3 ff ff       	jmp    0x41765a
4182bf:	83 fe 05             	cmp    $0x5,%esi
4182c2:	0f 85 7d bc 03 00    	jne    0x453f45
4182c8:	6a 08                	push   $0x8
4182ca:	5b                   	pop    %ebx
4182cb:	e9 4c ff ff ff       	jmp    0x41821c
4182d0:	6a 45                	push   $0x45
4182d2:	5b                   	pop    %ebx
4182d3:	e9 d3 be 03 00       	jmp    0x4541ab
4182d8:	8b f1                	mov    %ecx,%esi
4182da:	89 75 fc             	mov    %esi,-0x4(%ebp)
4182dd:	e9 6c f4 ff ff       	jmp    0x41774e
4182e2:	6a 20                	push   $0x20
4182e4:	33 c0                	xor    %eax,%eax
4182e6:	59                   	pop    %ecx
4182e7:	e9 5c c2 03 00       	jmp    0x454548
4182ec:	6a 09                	push   $0x9
4182ee:	e9 8e c3 03 00       	jmp    0x454681
4182f3:	8b 45 0c             	mov    0xc(%ebp),%eax
4182f6:	89 38                	mov    %edi,(%eax)
4182f8:	e9 b5 c3 03 00       	jmp    0x4546b2
4182fd:	8b 75 fc             	mov    -0x4(%ebp),%esi
418300:	e9 ad c3 03 00       	jmp    0x4546b2
418305:	55                   	push   %ebp
418306:	8b ec                	mov    %esp,%ebp
418308:	83 ec 14             	sub    $0x14,%esp
41830b:	53                   	push   %ebx
41830c:	56                   	push   %esi
41830d:	57                   	push   %edi
41830e:	8b 7d 14             	mov    0x14(%ebp),%edi
418311:	b8 ff 00 00 00       	mov    $0xff,%eax