426042:	3b c1                	cmp    %ecx,%eax
426044:	1b c0                	sbb    %eax,%eax
426046:	83 e0 27             	and    $0x27,%eax
426049:	83 c0 30             	add    $0x30,%eax
42604c:	66 03 c1             	add    %cx,%ax
42604f:	8b 4d 10             	mov    0x10(%ebp),%ecx
426052:	66 89 06             	mov    %ax,(%esi)
426055:	8b 45 fc             	mov    -0x4(%ebp),%eax
426058:	40                   	inc    %eax
426059:	89 45 fc             	mov    %eax,-0x4(%ebp)
42605c:	85 db                	test   %ebx,%ebx
42605e:	74 06                	je     0x426066
426060:	8b f2                	mov    %edx,%esi
426062:	3b c1                	cmp    %ecx,%eax
426064:	72 c2                	jb     0x426028
426066:	8b 75 f4             	mov    -0xc(%ebp),%esi
426069:	3b c1                	cmp    %ecx,%eax
42606b:	72 1b                	jb     0x426088
42606d:	8b 45 0c             	mov    0xc(%ebp),%eax
426070:	33 c9                	xor    %ecx,%ecx
426072:	66 89 08             	mov    %cx,(%eax)
426075:	e8 b6 d9 ff ff       	call   0x423a30
42607a:	6a 22                	push   $0x22
42607c:	5e                   	pop    %esi
42607d:	89 30                	mov    %esi,(%eax)
42607f:	e8 ff 98 ff ff       	call   0x41f983
426084:	8b c6                	mov    %esi,%eax
426086:	eb 1d                	jmp    0x4260a5
426088:	33 c0                	xor    %eax,%eax
42608a:	66 89 02             	mov    %ax,(%edx)
42608d:	66 8b 06             	mov    (%esi),%ax
426090:	0f b7 0f             	movzwl (%edi),%ecx
426093:	66 89 07             	mov    %ax,(%edi)
426096:	83 ef 02             	sub    $0x2,%edi
426099:	66 89 0e             	mov    %cx,(%esi)
42609c:	83 c6 02             	add    $0x2,%esi
42609f:	3b f7                	cmp    %edi,%esi
4260a1:	72 ea                	jb     0x42608d
4260a3:	33 c0                	xor    %eax,%eax
4260a5:	5f                   	pop    %edi
4260a6:	5e                   	pop    %esi
4260a7:	5b                   	pop    %ebx
4260a8:	c9                   	leave
4260a9:	c3                   	ret
4260aa:	8b ff                	mov    %edi,%edi
4260ac:	55                   	push   %ebp
4260ad:	8b ec                	mov    %esp,%ebp
4260af:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4260b2:	56                   	push   %esi
4260b3:	85 c9                	test   %ecx,%ecx
4260b5:	75 13                	jne    0x4260ca
4260b7:	e8 74 d9 ff ff       	call   0x423a30
4260bc:	6a 16                	push   $0x16
4260be:	5e                   	pop    %esi
4260bf:	89 30                	mov    %esi,(%eax)
4260c1:	e8 bd 98 ff ff       	call   0x41f983
4260c6:	8b c6                	mov    %esi,%eax
4260c8:	eb 4f                	jmp    0x426119
4260ca:	8b 55 10             	mov    0x10(%ebp),%edx
4260cd:	53                   	push   %ebx
4260ce:	85 d2                	test   %edx,%edx
4260d0:	74 24                	je     0x4260f6
4260d2:	8b 5d 18             	mov    0x18(%ebp),%ebx
4260d5:	33 c0                	xor    %eax,%eax
4260d7:	66 89 01             	mov    %ax,(%ecx)
4260da:	0f b6 c3             	movzbl %bl,%eax
4260dd:	40                   	inc    %eax
4260de:	3b d0                	cmp    %eax,%edx
4260e0:	77 09                	ja     0x4260eb
4260e2:	e8 49 d9 ff ff       	call   0x423a30
4260e7:	6a 22                	push   $0x22
4260e9:	eb 12                	jmp    0x4260fd
4260eb:	8b 75 14             	mov    0x14(%ebp),%esi
4260ee:	8d 46 fe             	lea    -0x2(%esi),%eax
4260f1:	83 f8 22             	cmp    $0x22,%eax
4260f4:	76 13                	jbe    0x426109
4260f6:	e8 35 d9 ff ff       	call   0x423a30
4260fb:	6a 16                	push   $0x16
4260fd:	5e                   	pop    %esi
4260fe:	89 30                	mov    %esi,(%eax)
426100:	e8 7e 98 ff ff       	call   0x41f983
426105:	8b c6                	mov    %esi,%eax
426107:	eb 0f                	jmp    0x426118
426109:	53                   	push   %ebx
42610a:	56                   	push   %esi
42610b:	52                   	push   %edx
42610c:	51                   	push   %ecx
42610d:	ff 75 08             	push   0x8(%ebp)
426110:	e8 d9 fe ff ff       	call   0x425fee
426115:	83 c4 14             	add    $0x14,%esp
426118:	5b                   	pop    %ebx
426119:	5e                   	pop    %esi
42611a:	5d                   	pop    %ebp
42611b:	c3                   	ret
42611c:	8b ff                	mov    %edi,%edi
42611e:	55                   	push   %ebp
42611f:	8b ec                	mov    %esp,%ebp
426121:	51                   	push   %ecx
426122:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
426126:	75 0a                	jne    0x426132
426128:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42612c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
426130:	7c 04                	jl     0x426136
426132:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
426136:	ff 75 fc             	push   -0x4(%ebp)
426139:	ff 75 14             	push   0x14(%ebp)
42613c:	ff 75 10             	push   0x10(%ebp)
42613f:	ff 75 0c             	push   0xc(%ebp)
426142:	ff 75 08             	push   0x8(%ebp)
426145:	e8 60 ff ff ff       	call   0x4260aa
42614a:	83 c4 14             	add    $0x14,%esp
42614d:	c9                   	leave
42614e:	c3                   	ret
42614f:	8b ff                	mov    %edi,%edi
426151:	55                   	push   %ebp
426152:	8b ec                	mov    %esp,%ebp
426154:	6a 02                	push   $0x2
426156:	ff 75 0c             	push   0xc(%ebp)
426159:	ff 75 08             	push   0x8(%ebp)
42615c:	ff 15 cc e0 43 00    	call   *0x43e0cc
426162:	85 c0                	test   %eax,%eax
426164:	75 12                	jne    0x426178
426166:	ff 15 6c e0 43 00    	call   *0x43e06c
42616c:	50                   	push   %eax
42616d:	e8 64 d8 ff ff       	call   0x4239d6
426172:	59                   	pop    %ecx
426173:	83 c8 ff             	or     $0xffffffff,%eax
426176:	5d                   	pop    %ebp
426177:	c3                   	ret
426178:	33 c0                	xor    %eax,%eax
42617a:	5d                   	pop    %ebp
42617b:	c3                   	ret
42617c:	8b ff                	mov    %edi,%edi
42617e:	55                   	push   %ebp
42617f:	8b ec                	mov    %esp,%ebp
426181:	81 ec c4 00 00 00    	sub    $0xc4,%esp
426187:	a1 14 50 45 00       	mov    0x455014,%eax
42618c:	33 c5                	xor    %ebp,%eax
42618e:	89 45 fc             	mov    %eax,-0x4(%ebp)
426191:	56                   	push   %esi
426192:	8b 75 08             	mov    0x8(%ebp),%esi
426195:	85 f6                	test   %esi,%esi
426197:	75 1e                	jne    0x4261b7
426199:	e8 92 d8 ff ff       	call   0x423a30
42619e:	6a 16                	push   $0x16
4261a0:	5e                   	pop    %esi
4261a1:	89 30                	mov    %esi,(%eax)
4261a3:	e8 db 97 ff ff       	call   0x41f983
4261a8:	8b c6                	mov    %esi,%eax
4261aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4261ad:	33 cd                	xor    %ebp,%ecx
4261af:	5e                   	pop    %esi
4261b0:	e8 f5 39 ff ff       	call   0x419baa
4261b5:	c9                   	leave
4261b6:	c3                   	ret
4261b7:	53                   	push   %ebx
4261b8:	57                   	push   %edi
4261b9:	e8 37 98 00 00       	call   0x42f9f5
4261be:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
4261c4:	33 db                	xor    %ebx,%ebx
4261c6:	50                   	push   %eax
4261c7:	89 9d 4c ff ff ff    	mov    %ebx,-0xb4(%ebp)
4261cd:	e8 f9 8e 00 00       	call   0x42f0cb
4261d2:	59                   	pop    %ecx
4261d3:	85 c0                	test   %eax,%eax
4261d5:	0f 85 00 01 00 00    	jne    0x4262db
4261db:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
4261e1:	6a 3c                	push   $0x3c
4261e3:	99                   	cltd
4261e4:	59                   	pop    %ecx
4261e5:	f7 f9                	idiv   %ecx
4261e7:	66 89 46 0a          	mov    %ax,0xa(%esi)
4261eb:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
4261f1:	50                   	push   %eax
4261f2:	e8 58 75 00 00       	call   0x42d74f
4261f7:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
4261fd:	53                   	push   %ebx
4261fe:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
426204:	68 00 46 c3 23       	push   $0x23c34600
426209:	57                   	push   %edi
42620a:	53                   	push   %ebx
42620b:	e8 30 43 ff ff       	call   0x41a540
426210:	8b c8                	mov    %eax,%ecx
426212:	8b c2                	mov    %edx,%eax
426214:	89 8d 40 ff ff ff    	mov    %ecx,-0xc0(%ebp)
42621a:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
426220:	3b 0d d8 69 45 00    	cmp    0x4569d8,%ecx
426226:	75 0f                	jne    0x426237
426228:	3b 05 dc 69 45 00    	cmp    0x4569dc,%eax
42622e:	75 07                	jne    0x426237
426230:	a1 8c 51 45 00       	mov    0x45518c,%eax
426235:	eb 58                	jmp    0x42628f
426237:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
42623d:	50                   	push   %eax
42623e:	ff 15 b0 e1 43 00    	call   *0x43e1b0
426244:	8b c8                	mov    %eax,%ecx
426246:	83 c8 ff             	or     $0xffffffff,%eax
426249:	3b c8                	cmp    %eax,%ecx
42624b:	74 19                	je     0x426266
42624d:	83 f9 02             	cmp    $0x2,%ecx
426250:	75 12                	jne    0x426264
426252:	66 83 7d ea 00       	cmpw   $0x0,-0x16(%ebp)
426257:	74 0b                	je     0x426264
426259:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
42625d:	74 05                	je     0x426264
42625f:	33 c0                	xor    %eax,%eax
426261:	40                   	inc    %eax
426262:	eb 02                	jmp    0x426266
426264:	33 c0                	xor    %eax,%eax
426266:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
42626c:	8b bd 48 ff ff ff    	mov    -0xb8(%ebp),%edi
426272:	8b 9d 44 ff ff ff    	mov    -0xbc(%ebp),%ebx
426278:	89 0d d8 69 45 00    	mov    %ecx,0x4569d8
42627e:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
426284:	a3 8c 51 45 00       	mov    %eax,0x45518c
426289:	89 0d dc 69 45 00    	mov    %ecx,0x4569dc
42628f:	6a 00                	push   $0x0
426291:	68 10 27 00 00       	push   $0x2710
426296:	57                   	push   %edi
426297:	53                   	push   %ebx
426298:	66 89 46 0c          	mov    %ax,0xc(%esi)
42629c:	e8 9f 42 ff ff       	call   0x41a540
4262a1:	6a 00                	push   $0x0
4262a3:	68 e8 03 00 00       	push   $0x3e8
4262a8:	52                   	push   %edx
4262a9:	50                   	push   %eax
4262aa:	e8 11 3f 01 00       	call   0x43a1c0
4262af:	6a 00                	push   $0x0
4262b1:	81 c3 00 80 c1 2a    	add    $0x2ac18000,%ebx
4262b7:	66 89 46 08          	mov    %ax,0x8(%esi)
4262bb:	68 80 96 98 00       	push   $0x989680
4262c0:	81 d7 21 4e 62 fe    	adc    $0xfe624e21,%edi
4262c6:	57                   	push   %edi
4262c7:	53                   	push   %ebx
4262c8:	e8 73 42 ff ff       	call   0x41a540
4262cd:	5f                   	pop    %edi
4262ce:	89 06                	mov    %eax,(%esi)
4262d0:	33 c0                	xor    %eax,%eax
4262d2:	89 56 04             	mov    %edx,0x4(%esi)
4262d5:	5b                   	pop    %ebx
4262d6:	e9 cf fe ff ff       	jmp    0x4261aa
4262db:	53                   	push   %ebx
4262dc:	53                   	push   %ebx
4262dd:	53                   	push   %ebx
4262de:	53                   	push   %ebx
4262df:	53                   	push   %ebx
4262e0:	e8 cb 96 ff ff       	call   0x41f9b0
4262e5:	cc                   	int3
4262e6:	8b ff                	mov    %edi,%edi
4262e8:	55                   	push   %ebp
4262e9:	8b ec                	mov    %esp,%ebp
4262eb:	5d                   	pop    %ebp
4262ec:	e9 8b fe ff ff       	jmp    0x42617c
4262f1:	8b ff                	mov    %edi,%edi
4262f3:	55                   	push   %ebp
4262f4:	8b ec                	mov    %esp,%ebp
4262f6:	56                   	push   %esi
4262f7:	8b 75 08             	mov    0x8(%ebp),%esi
4262fa:	57                   	push   %edi
4262fb:	8b 7d 0c             	mov    0xc(%ebp),%edi
4262fe:	0f b7 0e             	movzwl (%esi),%ecx
426301:	8d 76 02             	lea    0x2(%esi),%esi
426304:	8d 41 bf             	lea    -0x41(%ecx),%eax
426307:	83 f8 19             	cmp    $0x19,%eax
42630a:	77 03                	ja     0x42630f
42630c:	83 c1 20             	add    $0x20,%ecx
42630f:	0f b7 17             	movzwl (%edi),%edx
426312:	83 c7 02             	add    $0x2,%edi
426315:	8d 42 bf             	lea    -0x41(%edx),%eax
426318:	83 f8 19             	cmp    $0x19,%eax
42631b:	77 03                	ja     0x426320
42631d:	83 c2 20             	add    $0x20,%edx
426320:	8b c1                	mov    %ecx,%eax
426322:	2b c2                	sub    %edx,%eax
426324:	75 04                	jne    0x42632a
426326:	85 c9                	test   %ecx,%ecx
426328:	75 d4                	jne    0x4262fe
42632a:	5f                   	pop    %edi
42632b:	5e                   	pop    %esi
42632c:	5d                   	pop    %ebp
42632d:	c3                   	ret
42632e:	8b ff                	mov    %edi,%edi
426330:	55                   	push   %ebp
426331:	8b ec                	mov    %esp,%ebp
426333:	8b 45 08             	mov    0x8(%ebp),%eax
426336:	b9 00 01 00 00       	mov    $0x100,%ecx
42633b:	66 3b c1             	cmp    %cx,%ax
42633e:	73 20                	jae    0x426360
426340:	0f b6 c8             	movzbl %al,%ecx
426343:	f6 04 4d a2 15 44 00 	testb  $0x1,0x4415a2(,%ecx,2)
42634a:	01
42634b:	74 0e                	je     0x42635b
42634d:	8b 45 0c             	mov    0xc(%ebp),%eax
426350:	8b 00                	mov    (%eax),%eax
426352:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
426358:	8a 04 01             	mov    (%ecx,%eax,1),%al
42635b:	0f b6 c0             	movzbl %al,%eax
42635e:	5d                   	pop    %ebp
42635f:	c3                   	ret
426360:	ff 75 0c             	push   0xc(%ebp)
426363:	50                   	push   %eax
426364:	e8 3d 97 00 00       	call   0x42faa6
426369:	59                   	pop    %ecx
42636a:	59                   	pop    %ecx
42636b:	5d                   	pop    %ebp
42636c:	c3                   	ret
42636d:	8b ff                	mov    %edi,%edi
42636f:	55                   	push   %ebp
426370:	8b ec                	mov    %esp,%ebp
426372:	83 3d 80 6d 45 00 00 	cmpl   $0x0,0x456d80
426379:	75 29                	jne    0x4263a4
42637b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42637f:	75 17                	jne    0x426398
426381:	e8 aa d6 ff ff       	call   0x423a30
426386:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42638c:	e8 f2 95 ff ff       	call   0x41f983
426391:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
426396:	5d                   	pop    %ebp
426397:	c3                   	ret
426398:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
42639c:	74 e3                	je     0x426381
42639e:	5d                   	pop    %ebp
42639f:	e9 4d ff ff ff       	jmp    0x4262f1
4263a4:	6a 00                	push   $0x0
4263a6:	ff 75 0c             	push   0xc(%ebp)
4263a9:	ff 75 08             	push   0x8(%ebp)
4263ac:	e8 05 00 00 00       	call   0x4263b6
4263b1:	83 c4 0c             	add    $0xc,%esp
4263b4:	5d                   	pop    %ebp
4263b5:	c3                   	ret
4263b6:	8b ff                	mov    %edi,%edi
4263b8:	55                   	push   %ebp
4263b9:	8b ec                	mov    %esp,%ebp
4263bb:	83 ec 10             	sub    $0x10,%esp
4263be:	56                   	push   %esi
4263bf:	8b 75 08             	mov    0x8(%ebp),%esi
4263c2:	85 f6                	test   %esi,%esi
4263c4:	75 1a                	jne    0x4263e0
4263c6:	e8 65 d6 ff ff       	call   0x423a30
4263cb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4263d1:	e8 ad 95 ff ff       	call   0x41f983
4263d6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4263db:	e9 8b 00 00 00       	jmp    0x42646b
4263e0:	57                   	push   %edi
4263e1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4263e4:	85 ff                	test   %edi,%edi
4263e6:	75 17                	jne    0x4263ff
4263e8:	e8 43 d6 ff ff       	call   0x423a30
4263ed:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4263f3:	e8 8b 95 ff ff       	call   0x41f983