41a17e:	8b 4b 08             	mov    0x8(%ebx),%ecx
41a181:	8b c3                	mov    %ebx,%eax
41a183:	e8 04 ff ff ff       	call   0x41a08c
41a188:	8b 04 24             	mov    (%esp),%eax
41a18b:	89 43 10             	mov    %eax,0x10(%ebx)
41a18e:	5a                   	pop    %edx
41a18f:	5b                   	pop    %ebx
41a190:	c3                   	ret
41a191:	8d 40 00             	lea    0x0(%eax),%eax
41a194:	53                   	push   %ebx
41a195:	56                   	push   %esi
41a196:	57                   	push   %edi
41a197:	8b f2                	mov    %edx,%esi
41a199:	8b d8                	mov    %eax,%ebx
41a19b:	8b 7b 0c             	mov    0xc(%ebx),%edi
41a19e:	8b d6                	mov    %esi,%edx
41a1a0:	8b c3                	mov    %ebx,%eax
41a1a2:	e8 c5 ff ff ff       	call   0x41a16c
41a1a7:	89 73 08             	mov    %esi,0x8(%ebx)
41a1aa:	3b f7                	cmp    %edi,%esi
41a1ac:	7d 0d                	jge    0x41a1bb
41a1ae:	66 b9 02 00          	mov    $0x2,%cx
41a1b2:	33 d2                	xor    %edx,%edx
41a1b4:	8b c3                	mov    %ebx,%eax
41a1b6:	8b 18                	mov    (%eax),%ebx
41a1b8:	ff 53 14             	call   *0x14(%ebx)
41a1bb:	5f                   	pop    %edi
41a1bc:	5e                   	pop    %esi
41a1bd:	5b                   	pop    %ebx
41a1be:	c3                   	ret
41a1bf:	90                   	nop
41a1c0:	53                   	push   %ebx
41a1c1:	51                   	push   %ecx
41a1c2:	8b da                	mov    %edx,%ebx
41a1c4:	83 3b 00             	cmpl   $0x0,(%ebx)
41a1c7:	7e 17                	jle    0x41a1e0
41a1c9:	8b 13                	mov    (%ebx),%edx
41a1cb:	3b 50 08             	cmp    0x8(%eax),%edx
41a1ce:	74 10                	je     0x41a1e0
41a1d0:	8b 13                	mov    (%ebx),%edx
41a1d2:	81 c2 ff 1f 00 00    	add    $0x1fff,%edx
41a1d8:	81 e2 00 e0 ff ff    	and    $0xffffe000,%edx
41a1de:	89 13                	mov    %edx,(%ebx)
41a1e0:	8b 50 04             	mov    0x4(%eax),%edx
41a1e3:	89 14 24             	mov    %edx,(%esp)
41a1e6:	8b 0b                	mov    (%ebx),%ecx
41a1e8:	8b 50 10             	mov    0x10(%eax),%edx
41a1eb:	3b ca                	cmp    %edx,%ecx
41a1ed:	74 4a                	je     0x41a239
41a1ef:	83 3b 00             	cmpl   $0x0,(%ebx)
41a1f2:	75 0f                	jne    0x41a203
41a1f4:	8b 40 04             	mov    0x4(%eax),%eax
41a1f7:	e8 0c 8b fe ff       	call   0x402d08
41a1fc:	33 c0                	xor    %eax,%eax
41a1fe:	89 04 24             	mov    %eax,(%esp)
41a201:	eb 36                	jmp    0x41a239
41a203:	85 d2                	test   %edx,%edx
41a205:	75 0c                	jne    0x41a213
41a207:	8b 03                	mov    (%ebx),%eax
41a209:	e8 de 8a fe ff       	call   0x402cec
41a20e:	89 04 24             	mov    %eax,(%esp)
41a211:	eb 09                	jmp    0x41a21c
41a213:	8b 13                	mov    (%ebx),%edx
41a215:	8b c4                	mov    %esp,%eax
41a217:	e8 04 8b fe ff       	call   0x402d20
41a21c:	83 3c 24 00          	cmpl   $0x0,(%esp)
41a220:	75 17                	jne    0x41a239
41a222:	8b 0d 9c d7 46 00    	mov    0x46d79c,%ecx
41a228:	b2 01                	mov    $0x1,%dl
41a22a:	a1 6c 52 41 00       	mov    0x41526c,%eax
41a22f:	e8 c4 20 ff ff       	call   0x40c2f8
41a234:	e8 2f 9f fe ff       	call   0x404168
41a239:	8b 04 24             	mov    (%esp),%eax
41a23c:	5a                   	pop    %edx
41a23d:	5b                   	pop    %ebx
41a23e:	c3                   	ret
41a23f:	90                   	nop
41a240:	53                   	push   %ebx
41a241:	56                   	push   %esi
41a242:	57                   	push   %edi
41a243:	55                   	push   %ebp
41a244:	8b f1                	mov    %ecx,%esi
41a246:	8b ea                	mov    %edx,%ebp
41a248:	8b d8                	mov    %eax,%ebx
41a24a:	8b 43 0c             	mov    0xc(%ebx),%eax
41a24d:	85 c0                	test   %eax,%eax
41a24f:	7c 38                	jl     0x41a289
41a251:	85 f6                	test   %esi,%esi
41a253:	7c 34                	jl     0x41a289
41a255:	8b f8                	mov    %eax,%edi
41a257:	03 fe                	add    %esi,%edi
41a259:	85 ff                	test   %edi,%edi
41a25b:	7e 2c                	jle    0x41a289
41a25d:	3b 7b 08             	cmp    0x8(%ebx),%edi
41a260:	7e 11                	jle    0x41a273
41a262:	3b 7b 10             	cmp    0x10(%ebx),%edi
41a265:	7e 09                	jle    0x41a270
41a267:	8b d7                	mov    %edi,%edx
41a269:	8b c3                	mov    %ebx,%eax
41a26b:	e8 fc fe ff ff       	call   0x41a16c
41a270:	89 7b 08             	mov    %edi,0x8(%ebx)
41a273:	8b 53 04             	mov    0x4(%ebx),%edx
41a276:	03 53 0c             	add    0xc(%ebx),%edx
41a279:	8b c5                	mov    %ebp,%eax
41a27b:	8b ce                	mov    %esi,%ecx
41a27d:	e8 5a 8c fe ff       	call   0x402edc
41a282:	89 7b 0c             	mov    %edi,0xc(%ebx)
41a285:	8b c6                	mov    %esi,%eax
41a287:	eb 02                	jmp    0x41a28b
41a289:	33 c0                	xor    %eax,%eax
41a28b:	5d                   	pop    %ebp
41a28c:	5f                   	pop    %edi
41a28d:	5e                   	pop    %esi
41a28e:	5b                   	pop    %ebx
41a28f:	c3                   	ret
41a290:	55                   	push   %ebp
41a291:	8b ec                	mov    %esp,%ebp
41a293:	53                   	push   %ebx
41a294:	56                   	push   %esi
41a295:	57                   	push   %edi
41a296:	84 d2                	test   %dl,%dl
41a298:	74 08                	je     0x41a2a2
41a29a:	83 c4 f0             	add    $0xfffffff0,%esp
41a29d:	e8 76 99 fe ff       	call   0x403c18
41a2a2:	8b f1                	mov    %ecx,%esi
41a2a4:	8b da                	mov    %edx,%ebx
41a2a6:	8b f8                	mov    %eax,%edi
41a2a8:	33 d2                	xor    %edx,%edx
41a2aa:	8b c7                	mov    %edi,%eax
41a2ac:	e8 13 96 fe ff       	call   0x4038c4
41a2b1:	8b 45 08             	mov    0x8(%ebp),%eax
41a2b4:	50                   	push   %eax
41a2b5:	6a 00                	push   $0x0
41a2b7:	8b 45 0c             	mov    0xc(%ebp),%eax
41a2ba:	e8 25 a9 fe ff       	call   0x404be4
41a2bf:	8b c8                	mov    %eax,%ecx
41a2c1:	8b d6                	mov    %esi,%edx
41a2c3:	8b c7                	mov    %edi,%eax
41a2c5:	e8 be 00 00 00       	call   0x41a388
41a2ca:	8b c7                	mov    %edi,%eax
41a2cc:	84 db                	test   %bl,%bl
41a2ce:	74 0f                	je     0x41a2df
41a2d0:	e8 9b 99 fe ff       	call   0x403c70
41a2d5:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a2dc:	83 c4 0c             	add    $0xc,%esp
41a2df:	8b c7                	mov    %edi,%eax
41a2e1:	5f                   	pop    %edi
41a2e2:	5e                   	pop    %esi
41a2e3:	5b                   	pop    %ebx
41a2e4:	5d                   	pop    %ebp
41a2e5:	c2 08 00             	ret    $0x8
41a2e8:	55                   	push   %ebp
41a2e9:	8b ec                	mov    %esp,%ebp
41a2eb:	83 c4 f0             	add    $0xfffffff0,%esp
41a2ee:	33 c0                	xor    %eax,%eax
41a2f0:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a2f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a2f6:	33 c0                	xor    %eax,%eax
41a2f8:	55                   	push   %ebp
41a2f9:	68 7a a3 41 00       	push   $0x41a37a
41a2fe:	64 ff 30             	push   %fs:(%eax)
41a301:	64 89 20             	mov    %esp,%fs:(%eax)
41a304:	8b 45 08             	mov    0x8(%ebp),%eax
41a307:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
41a30b:	74 10                	je     0x41a31d
41a30d:	8d 55 fc             	lea    -0x4(%ebp),%edx
41a310:	8b 45 08             	mov    0x8(%ebp),%eax
41a313:	8b 40 fc             	mov    -0x4(%eax),%eax
41a316:	e8 29 e8 fe ff       	call   0x408b44
41a31b:	eb 0e                	jmp    0x41a32b
41a31d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a320:	8b 55 08             	mov    0x8(%ebp),%edx
41a323:	8b 52 fc             	mov    -0x4(%edx),%edx
41a326:	e8 ed a5 fe ff       	call   0x404918
41a32b:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a32e:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a331:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
41a335:	8d 45 f4             	lea    -0xc(%ebp),%eax
41a338:	50                   	push   %eax
41a339:	6a 00                	push   $0x0
41a33b:	8d 55 f0             	lea    -0x10(%ebp),%edx
41a33e:	a1 b4 d5 46 00       	mov    0x46d5b4,%eax
41a343:	e8 bc c2 fe ff       	call   0x406604
41a348:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41a34b:	b2 01                	mov    $0x1,%dl
41a34d:	a1 40 55 41 00       	mov    0x415540,%eax
41a352:	e8 21 1f ff ff       	call   0x40c278
41a357:	e8 0c 9e fe ff       	call   0x404168
41a35c:	33 c0                	xor    %eax,%eax
41a35e:	5a                   	pop    %edx
41a35f:	59                   	pop    %ecx
41a360:	59                   	pop    %ecx
41a361:	64 89 10             	mov    %edx,%fs:(%eax)
41a364:	68 81 a3 41 00       	push   $0x41a381
41a369:	8d 45 f0             	lea    -0x10(%ebp),%eax
41a36c:	e8 af a3 fe ff       	call   0x404720
41a371:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a374:	e8 a7 a3 fe ff       	call   0x404720
41a379:	c3                   	ret
41a37a:	e9 09 9d fe ff       	jmp    0x404088
41a37f:	eb e8                	jmp    0x41a369
41a381:	8b e5                	mov    %ebp,%esp
41a383:	5d                   	pop    %ebp
41a384:	c3                   	ret
41a385:	8d 40 00             	lea    0x0(%eax),%eax
41a388:	55                   	push   %ebp
41a389:	8b ec                	mov    %esp,%ebp
41a38b:	51                   	push   %ecx
41a38c:	53                   	push   %ebx
41a38d:	56                   	push   %esi
41a38e:	57                   	push   %edi
41a38f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41a392:	8b f2                	mov    %edx,%esi
41a394:	8b d8                	mov    %eax,%ebx
41a396:	8b 45 0c             	mov    0xc(%ebp),%eax
41a399:	50                   	push   %eax
41a39a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a39d:	50                   	push   %eax
41a39e:	56                   	push   %esi
41a39f:	e8 ac c5 fe ff       	call   0x406950
41a3a4:	8b f8                	mov    %eax,%edi
41a3a6:	89 7b 10             	mov    %edi,0x10(%ebx)
41a3a9:	85 ff                	test   %edi,%edi
41a3ab:	75 07                	jne    0x41a3b4
41a3ad:	55                   	push   %ebp
41a3ae:	e8 35 ff ff ff       	call   0x41a2e8
41a3b3:	59                   	pop    %ecx
41a3b4:	8b 43 10             	mov    0x10(%ebx),%eax
41a3b7:	50                   	push   %eax
41a3b8:	56                   	push   %esi
41a3b9:	e8 a2 c6 fe ff       	call   0x406a60
41a3be:	8b f8                	mov    %eax,%edi
41a3c0:	89 7b 14             	mov    %edi,0x14(%ebx)
41a3c3:	85 ff                	test   %edi,%edi
41a3c5:	75 07                	jne    0x41a3ce
41a3c7:	55                   	push   %ebp
41a3c8:	e8 1b ff ff ff       	call   0x41a2e8
41a3cd:	59                   	pop    %ecx
41a3ce:	8b 43 10             	mov    0x10(%ebx),%eax
41a3d1:	50                   	push   %eax
41a3d2:	56                   	push   %esi
41a3d3:	e8 e0 c6 fe ff       	call   0x406ab8
41a3d8:	50                   	push   %eax
41a3d9:	8b 43 14             	mov    0x14(%ebx),%eax
41a3dc:	50                   	push   %eax
41a3dd:	e8 86 c6 fe ff       	call   0x406a68
41a3e2:	8b d0                	mov    %eax,%edx
41a3e4:	8b c3                	mov    %ebx,%eax
41a3e6:	59                   	pop    %ecx
41a3e7:	e8 a0 fc ff ff       	call   0x41a08c
41a3ec:	5f                   	pop    %edi
41a3ed:	5e                   	pop    %esi
41a3ee:	5b                   	pop    %ebx
41a3ef:	59                   	pop    %ecx
41a3f0:	5d                   	pop    %ebp
41a3f1:	c2 08 00             	ret    $0x8
41a3f4:	53                   	push   %ebx
41a3f5:	56                   	push   %esi
41a3f6:	e8 c5 98 fe ff       	call   0x403cc0
41a3fb:	8b da                	mov    %edx,%ebx
41a3fd:	8b f0                	mov    %eax,%esi
41a3ff:	8b 46 14             	mov    0x14(%esi),%eax
41a402:	50                   	push   %eax
41a403:	e8 68 c5 fe ff       	call   0x406970
41a408:	8b d3                	mov    %ebx,%edx
41a40a:	80 e2 fc             	and    $0xfc,%dl
41a40d:	8b c6                	mov    %esi,%eax
41a40f:	e8 d0 94 fe ff       	call   0x4038e4
41a414:	84 db                	test   %bl,%bl
41a416:	7e 07                	jle    0x41a41f
41a418:	8b c6                	mov    %esi,%eax
41a41a:	e8 49 98 fe ff       	call   0x403c68
41a41f:	5e                   	pop    %esi
41a420:	5b                   	pop    %ebx
41a421:	c3                   	ret
41a422:	8b c0                	mov    %eax,%eax
41a424:	8b 0d d0 d5 46 00    	mov    0x46d5d0,%ecx
41a42a:	b2 01                	mov    $0x1,%dl
41a42c:	a1 6c 52 41 00       	mov    0x41526c,%eax
41a431:	e8 c2 1e ff ff       	call   0x40c2f8
41a436:	e8 2d 9d fe ff       	call   0x404168
41a43b:	c3                   	ret
41a43c:	55                   	push   %ebp
41a43d:	8b ec                	mov    %esp,%ebp
41a43f:	53                   	push   %ebx
41a440:	56                   	push   %esi
41a441:	57                   	push   %edi
41a442:	84 d2                	test   %dl,%dl
41a444:	74 08                	je     0x41a44e
41a446:	83 c4 f0             	add    $0xfffffff0,%esp
41a449:	e8 ca 97 fe ff       	call   0x403c18
41a44e:	8b da                	mov    %edx,%ebx
41a450:	8b f8                	mov    %eax,%edi
41a452:	8b 75 08             	mov    0x8(%ebp),%esi
41a455:	89 4f 04             	mov    %ecx,0x4(%edi)
41a458:	8b c6                	mov    %esi,%eax
41a45a:	e8 8d 88 fe ff       	call   0x402cec
41a45f:	89 47 08             	mov    %eax,0x8(%edi)
41a462:	89 77 0c             	mov    %esi,0xc(%edi)
41a465:	8b c7                	mov    %edi,%eax
41a467:	84 db                	test   %bl,%bl
41a469:	74 0f                	je     0x41a47a
41a46b:	e8 00 98 fe ff       	call   0x403c70
41a470:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a477:	83 c4 0c             	add    $0xc,%esp
41a47a:	8b c7                	mov    %edi,%eax
41a47c:	5f                   	pop    %edi
41a47d:	5e                   	pop    %esi
41a47e:	5b                   	pop    %ebx
41a47f:	5d                   	pop    %ebp
41a480:	c2 04 00             	ret    $0x4
41a483:	90                   	nop
41a484:	53                   	push   %ebx
41a485:	56                   	push   %esi
41a486:	e8 35 98 fe ff       	call   0x403cc0
41a48b:	8b da                	mov    %edx,%ebx
41a48d:	8b f0                	mov    %eax,%esi
41a48f:	8b 46 08             	mov    0x8(%esi),%eax
41a492:	85 c0                	test   %eax,%eax
41a494:	74 08                	je     0x41a49e
41a496:	8b 56 0c             	mov    0xc(%esi),%edx
41a499:	e8 6a 88 fe ff       	call   0x402d08
41a49e:	84 db                	test   %bl,%bl
41a4a0:	7e 07                	jle    0x41a4a9
41a4a2:	8b c6                	mov    %esi,%eax
41a4a4:	e8 bf 97 fe ff       	call   0x403c68
41a4a9:	5e                   	pop    %esi
41a4aa:	5b                   	pop    %ebx
41a4ab:	c3                   	ret
41a4ac:	89 50 18             	mov    %edx,0x18(%eax)
41a4af:	c3                   	ret
41a4b0:	fc                   	cld
41a4b1:	a4                   	movsb  %ds:(%esi),%es:(%edi)
41a4b2:	41                   	inc    %ecx
41a4bb:	00 00                	add    %al,(%eax)
41a4bd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41a4be:	41                   	inc    %ecx
41a4cf:	00 1a                	add    %bl,(%edx)
41a4d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41a4d2:	41                   	inc    %ecx
41a4d3:	00 18                	add    %bl,(%eax)
41a4d5:	00 00                	add    %al,(%eax)
41a4d7:	00 c0                	add    %al,%al
41a4d9:	10 40 00             	adc    %al,0x0(%eax)
41a4dc:	3c 3b                	cmp    $0x3b,%al
41a4de:	40                   	inc    %eax
41a4df:	00 48 3b             	add    %cl,0x3b(%eax)
41a4e2:	40                   	inc    %eax
41a4e3:	00 4c 3b 40          	add    %cl,0x40(%ebx,%edi,1)
41a4e7:	00 50 3b             	add    %dl,0x3b(%eax)