41a1b0:	53                   	push   %ebx
41a1b1:	66 83 78 3a 00       	cmpw   $0x0,0x3a(%eax)
41a1b6:	74 0a                	je     0x41a1c2
41a1b8:	8b d8                	mov    %eax,%ebx
41a1ba:	8b d0                	mov    %eax,%edx
41a1bc:	8b 43 3c             	mov    0x3c(%ebx),%eax
41a1bf:	ff 53 38             	call   *0x38(%ebx)
41a1c2:	5b                   	pop    %ebx
41a1c3:	c3                   	ret
41a1c4:	89 42 10             	mov    %eax,0x10(%edx)
41a1c7:	8b 40 50             	mov    0x50(%eax),%eax
41a1ca:	e8 61 9a ff ff       	call   0x413c30
41a1cf:	c3                   	ret
41a1d0:	53                   	push   %ebx
41a1d1:	56                   	push   %esi
41a1d2:	57                   	push   %edi
41a1d3:	55                   	push   %ebp
41a1d4:	8b ea                	mov    %edx,%ebp
41a1d6:	8b f8                	mov    %eax,%edi
41a1d8:	8b 47 50             	mov    0x50(%edi),%eax
41a1db:	8b 70 08             	mov    0x8(%eax),%esi
41a1de:	4e                   	dec    %esi
41a1df:	85 f6                	test   %esi,%esi
41a1e1:	7c 26                	jl     0x41a209
41a1e3:	46                   	inc    %esi
41a1e4:	33 db                	xor    %ebx,%ebx
41a1e6:	8b 47 50             	mov    0x50(%edi),%eax
41a1e9:	8b d3                	mov    %ebx,%edx
41a1eb:	e8 9c 9b ff ff       	call   0x413d8c
41a1f0:	3b e8                	cmp    %eax,%ebp
41a1f2:	75 11                	jne    0x41a205
41a1f4:	33 c0                	xor    %eax,%eax
41a1f6:	89 45 10             	mov    %eax,0x10(%ebp)
41a1f9:	8b 47 50             	mov    0x50(%edi),%eax
41a1fc:	8b d3                	mov    %ebx,%edx
41a1fe:	e8 79 9a ff ff       	call   0x413c7c
41a203:	eb 04                	jmp    0x41a209
41a205:	43                   	inc    %ebx
41a206:	4e                   	dec    %esi
41a207:	75 dd                	jne    0x41a1e6
41a209:	5d                   	pop    %ebp
41a20a:	5f                   	pop    %edi
41a20b:	5e                   	pop    %esi
41a20c:	5b                   	pop    %ebx
41a20d:	c3                   	ret
41a20e:	8b c0                	mov    %eax,%eax
41a210:	53                   	push   %ebx
41a211:	56                   	push   %esi
41a212:	8b f2                	mov    %edx,%esi
41a214:	8b d8                	mov    %eax,%ebx
41a216:	8b 43 30             	mov    0x30(%ebx),%eax
41a219:	3b f0                	cmp    %eax,%esi
41a21b:	74 1b                	je     0x41a238
41a21d:	85 c0                	test   %eax,%eax
41a21f:	74 07                	je     0x41a228
41a221:	8b d3                	mov    %ebx,%edx
41a223:	e8 1c f8 ff ff       	call   0x419a44
41a228:	8b c6                	mov    %esi,%eax
41a22a:	89 43 30             	mov    %eax,0x30(%ebx)
41a22d:	85 c0                	test   %eax,%eax
41a22f:	74 07                	je     0x41a238
41a231:	8b d3                	mov    %ebx,%edx
41a233:	e8 dc f5 ff ff       	call   0x419814
41a238:	5e                   	pop    %esi
41a239:	5b                   	pop    %ebx
41a23a:	c3                   	ret
41a23b:	90                   	nop
41a23c:	55                   	push   %ebp
41a23d:	8b ec                	mov    %esp,%ebp
41a23f:	53                   	push   %ebx
41a240:	56                   	push   %esi
41a241:	57                   	push   %edi
41a242:	84 d2                	test   %dl,%dl
41a244:	74 08                	je     0x41a24e
41a246:	83 c4 f0             	add    $0xfffffff0,%esp
41a249:	e8 42 93 fe ff       	call   0x403590
41a24e:	8b f1                	mov    %ecx,%esi
41a250:	8b da                	mov    %edx,%ebx
41a252:	8b f8                	mov    %eax,%edi
41a254:	33 d2                	xor    %edx,%edx
41a256:	8b c7                	mov    %edi,%eax
41a258:	e8 df 8f fe ff       	call   0x40323c
41a25d:	89 77 0c             	mov    %esi,0xc(%edi)
41a260:	8a 45 08             	mov    0x8(%ebp),%al
41a263:	88 47 10             	mov    %al,0x10(%edi)
41a266:	8b c7                	mov    %edi,%eax
41a268:	84 db                	test   %bl,%bl
41a26a:	74 0f                	je     0x41a27b
41a26c:	e8 77 93 fe ff       	call   0x4035e8
41a271:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a278:	83 c4 0c             	add    $0xc,%esp
41a27b:	8b c7                	mov    %edi,%eax
41a27d:	5f                   	pop    %edi
41a27e:	5e                   	pop    %esi
41a27f:	5b                   	pop    %ebx
41a280:	5d                   	pop    %ebp
41a281:	c2 04 00             	ret    $0x4
41a284:	53                   	push   %ebx
41a285:	56                   	push   %esi
41a286:	e8 6d 93 fe ff       	call   0x4035f8
41a28b:	8b da                	mov    %edx,%ebx
41a28d:	8b f0                	mov    %eax,%esi
41a28f:	80 7e 10 01          	cmpb   $0x1,0x10(%esi)
41a293:	75 0d                	jne    0x41a2a2
41a295:	8b 46 0c             	mov    0xc(%esi),%eax
41a298:	e8 cf 8f fe ff       	call   0x40326c
41a29d:	33 c0                	xor    %eax,%eax
41a29f:	89 46 0c             	mov    %eax,0xc(%esi)
41a2a2:	8b d3                	mov    %ebx,%edx
41a2a4:	80 e2 fc             	and    $0xfc,%dl
41a2a7:	8b c6                	mov    %esi,%eax
41a2a9:	e8 ae 8f fe ff       	call   0x40325c
41a2ae:	84 db                	test   %bl,%bl
41a2b0:	7e 07                	jle    0x41a2b9
41a2b2:	8b c6                	mov    %esi,%eax
41a2b4:	e8 27 93 fe ff       	call   0x4035e0
41a2b9:	5e                   	pop    %esi
41a2ba:	5b                   	pop    %ebx
41a2bb:	c3                   	ret
41a2bc:	55                   	push   %ebp
41a2bd:	8b ec                	mov    %esp,%ebp
41a2bf:	53                   	push   %ebx
41a2c0:	56                   	push   %esi
41a2c1:	57                   	push   %edi
41a2c2:	8b 55 0c             	mov    0xc(%ebp),%edx
41a2c5:	8b 45 08             	mov    0x8(%ebp),%eax
41a2c8:	33 c9                	xor    %ecx,%ecx
41a2ca:	55                   	push   %ebp
41a2cb:	68 0b a3 41 00       	push   $0x41a30b
41a2d0:	64 ff 31             	push   %fs:(%ecx)
41a2d3:	64 89 21             	mov    %esp,%fs:(%ecx)
41a2d6:	85 d2                	test   %edx,%edx
41a2d8:	75 0f                	jne    0x41a2e9
41a2da:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a2df:	33 c0                	xor    %eax,%eax
41a2e1:	5a                   	pop    %edx
41a2e2:	59                   	pop    %ecx
41a2e3:	59                   	pop    %ecx
41a2e4:	64 89 10             	mov    %edx,%fs:(%eax)
41a2e7:	eb 31                	jmp    0x41a31a
41a2e9:	8b 40 0c             	mov    0xc(%eax),%eax
41a2ec:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a2ef:	8b 18                	mov    (%eax),%ebx
41a2f1:	ff 53 0c             	call   *0xc(%ebx)
41a2f4:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a2f8:	74 05                	je     0x41a2ff
41a2fa:	8b 55 14             	mov    0x14(%ebp),%edx
41a2fd:	89 02                	mov    %eax,(%edx)
41a2ff:	33 db                	xor    %ebx,%ebx
41a301:	33 c0                	xor    %eax,%eax
41a303:	5a                   	pop    %edx
41a304:	59                   	pop    %ecx
41a305:	59                   	pop    %ecx
41a306:	64 89 10             	mov    %edx,%fs:(%eax)
41a309:	eb 0f                	jmp    0x41a31a
41a30b:	e9 fc 93 fe ff       	jmp    0x40370c
41a310:	bb 01 00 00 00       	mov    $0x1,%ebx
41a315:	e8 5a 97 fe ff       	call   0x403a74
41a31a:	8b c3                	mov    %ebx,%eax
41a31c:	5f                   	pop    %edi
41a31d:	5e                   	pop    %esi
41a31e:	5b                   	pop    %ebx
41a31f:	5d                   	pop    %ebp
41a320:	c2 10 00             	ret    $0x10
41a323:	90                   	nop
41a324:	55                   	push   %ebp
41a325:	8b ec                	mov    %esp,%ebp
41a327:	53                   	push   %ebx
41a328:	56                   	push   %esi
41a329:	57                   	push   %edi
41a32a:	8b 55 0c             	mov    0xc(%ebp),%edx
41a32d:	8b 45 08             	mov    0x8(%ebp),%eax
41a330:	33 c9                	xor    %ecx,%ecx
41a332:	55                   	push   %ebp
41a333:	68 73 a3 41 00       	push   $0x41a373
41a338:	64 ff 31             	push   %fs:(%ecx)
41a33b:	64 89 21             	mov    %esp,%fs:(%ecx)
41a33e:	85 d2                	test   %edx,%edx
41a340:	75 0f                	jne    0x41a351
41a342:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a347:	33 c0                	xor    %eax,%eax
41a349:	5a                   	pop    %edx
41a34a:	59                   	pop    %ecx
41a34b:	59                   	pop    %ecx
41a34c:	64 89 10             	mov    %edx,%fs:(%eax)
41a34f:	eb 31                	jmp    0x41a382
41a351:	8b 40 0c             	mov    0xc(%eax),%eax
41a354:	8b 4d 10             	mov    0x10(%ebp),%ecx
41a357:	8b 18                	mov    (%eax),%ebx
41a359:	ff 53 10             	call   *0x10(%ebx)
41a35c:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a360:	74 05                	je     0x41a367
41a362:	8b 55 14             	mov    0x14(%ebp),%edx
41a365:	89 02                	mov    %eax,(%edx)
41a367:	33 db                	xor    %ebx,%ebx
41a369:	33 c0                	xor    %eax,%eax
41a36b:	5a                   	pop    %edx
41a36c:	59                   	pop    %ecx
41a36d:	59                   	pop    %ecx
41a36e:	64 89 10             	mov    %edx,%fs:(%eax)
41a371:	eb 0f                	jmp    0x41a382
41a373:	e9 94 93 fe ff       	jmp    0x40370c
41a378:	bb 03 01 03 80       	mov    $0x80030103,%ebx
41a37d:	e8 f2 96 fe ff       	call   0x403a74
41a382:	8b c3                	mov    %ebx,%eax
41a384:	5f                   	pop    %edi
41a385:	5e                   	pop    %esi
41a386:	5b                   	pop    %ebx
41a387:	5d                   	pop    %ebp
41a388:	c2 10 00             	ret    $0x10
41a38b:	90                   	nop
41a38c:	55                   	push   %ebp
41a38d:	8b ec                	mov    %esp,%ebp
41a38f:	83 c4 f8             	add    $0xfffffff8,%esp
41a392:	53                   	push   %ebx
41a393:	56                   	push   %esi
41a394:	57                   	push   %edi
41a395:	8b 5d 14             	mov    0x14(%ebp),%ebx
41a398:	8b 75 08             	mov    0x8(%ebp),%esi
41a39b:	33 c0                	xor    %eax,%eax
41a39d:	55                   	push   %ebp
41a39e:	68 f6 a3 41 00       	push   $0x41a3f6
41a3a3:	64 ff 30             	push   %fs:(%eax)
41a3a6:	64 89 20             	mov    %esp,%fs:(%eax)
41a3a9:	85 db                	test   %ebx,%ebx
41a3ab:	7c 05                	jl     0x41a3b2
41a3ad:	83 fb 02             	cmp    $0x2,%ebx
41a3b0:	7e 0f                	jle    0x41a3c1
41a3b2:	bb 01 00 03 80       	mov    $0x80030001,%ebx
41a3b7:	33 c0                	xor    %eax,%eax
41a3b9:	5a                   	pop    %edx
41a3ba:	59                   	pop    %ecx
41a3bb:	59                   	pop    %ecx
41a3bc:	64 89 10             	mov    %edx,%fs:(%eax)
41a3bf:	eb 44                	jmp    0x41a405
41a3c1:	8b 46 0c             	mov    0xc(%esi),%eax
41a3c4:	8b cb                	mov    %ebx,%ecx
41a3c6:	8b 55 0c             	mov    0xc(%ebp),%edx
41a3c9:	8b 18                	mov    (%eax),%ebx
41a3cb:	ff 53 14             	call   *0x14(%ebx)
41a3ce:	99                   	cltd
41a3cf:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a3d2:	89 55 fc             	mov    %edx,-0x4(%ebp)
41a3d5:	8b 45 18             	mov    0x18(%ebp),%eax
41a3d8:	85 c0                	test   %eax,%eax
41a3da:	74 0e                	je     0x41a3ea
41a3dc:	8b 45 18             	mov    0x18(%ebp),%eax
41a3df:	8b 55 f8             	mov    -0x8(%ebp),%edx
41a3e2:	89 10                	mov    %edx,(%eax)
41a3e4:	8b 55 fc             	mov    -0x4(%ebp),%edx
41a3e7:	89 50 04             	mov    %edx,0x4(%eax)
41a3ea:	33 db                	xor    %ebx,%ebx
41a3ec:	33 c0                	xor    %eax,%eax
41a3ee:	5a                   	pop    %edx
41a3ef:	59                   	pop    %ecx
41a3f0:	59                   	pop    %ecx
41a3f1:	64 89 10             	mov    %edx,%fs:(%eax)
41a3f4:	eb 0f                	jmp    0x41a405
41a3f6:	e9 11 93 fe ff       	jmp    0x40370c
41a3fb:	bb 09 00 03 80       	mov    $0x80030009,%ebx
41a400:	e8 6f 96 fe ff       	call   0x403a74
41a405:	8b c3                	mov    %ebx,%eax
41a407:	5f                   	pop    %edi
41a408:	5e                   	pop    %esi
41a409:	5b                   	pop    %ebx
41a40a:	59                   	pop    %ecx
41a40b:	59                   	pop    %ecx
41a40c:	5d                   	pop    %ebp
41a40d:	c2 14 00             	ret    $0x14
41a410:	55                   	push   %ebp
41a411:	8b ec                	mov    %esp,%ebp
41a413:	53                   	push   %ebx
41a414:	56                   	push   %esi
41a415:	57                   	push   %edi
41a416:	8b 5d 08             	mov    0x8(%ebp),%ebx
41a419:	33 c0                	xor    %eax,%eax
41a41b:	55                   	push   %ebp
41a41c:	68 59 a4 41 00       	push   $0x41a459
41a421:	64 ff 30             	push   %fs:(%eax)
41a424:	64 89 20             	mov    %esp,%fs:(%eax)
41a427:	ff 75 10             	push   0x10(%ebp)
41a42a:	ff 75 0c             	push   0xc(%ebp)
41a42d:	8b 43 0c             	mov    0xc(%ebx),%eax
41a430:	e8 33 b6 ff ff       	call   0x415a68
41a435:	8b 43 0c             	mov    0xc(%ebx),%eax
41a438:	8b 10                	mov    (%eax),%edx
41a43a:	ff 12                	call   *(%edx)
41a43c:	3b 55 10             	cmp    0x10(%ebp),%edx
41a43f:	75 03                	jne    0x41a444
41a441:	3b 45 0c             	cmp    0xc(%ebp),%eax
41a444:	74 07                	je     0x41a44d
41a446:	bb 05 40 00 80       	mov    $0x80004005,%ebx
41a44b:	eb 02                	jmp    0x41a44f
41a44d:	33 db                	xor    %ebx,%ebx
41a44f:	33 c0                	xor    %eax,%eax
41a451:	5a                   	pop    %edx
41a452:	59                   	pop    %ecx
41a453:	59                   	pop    %ecx
41a454:	64 89 10             	mov    %edx,%fs:(%eax)
41a457:	eb 0f                	jmp    0x41a468
41a459:	e9 ae 92 fe ff       	jmp    0x40370c
41a45e:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
41a463:	e8 0c 96 fe ff       	call   0x403a74
41a468:	8b c3                	mov    %ebx,%eax
41a46a:	5f                   	pop    %edi
41a46b:	5e                   	pop    %esi
41a46c:	5b                   	pop    %ebx
41a46d:	5d                   	pop    %ebp
41a46e:	c2 0c 00             	ret    $0xc
41a471:	8d 40 00             	lea    0x0(%eax),%eax
41a474:	55                   	push   %ebp
41a475:	8b ec                	mov    %esp,%ebp
41a477:	83 c4 d8             	add    $0xffffffd8,%esp
41a47a:	53                   	push   %ebx
41a47b:	56                   	push   %esi
41a47c:	57                   	push   %edi
41a47d:	8b 45 0c             	mov    0xc(%ebp),%eax
41a480:	e8 4b b2 fe ff       	call   0x4056d0
41a485:	33 c0                	xor    %eax,%eax
41a487:	55                   	push   %ebp
41a488:	68 61 a6 41 00       	push   $0x41a661
41a48d:	64 ff 30             	push   %fs:(%eax)
41a490:	64 89 20             	mov    %esp,%fs:(%eax)
41a493:	33 c0                	xor    %eax,%eax
41a495:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a498:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
41a49f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
41a4a6:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
41a4ad:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
41a4b4:	33 d2                	xor    %edx,%edx
41a4b6:	55                   	push   %ebp
41a4b7:	68 3a a6 41 00       	push   $0x41a63a
41a4bc:	64 ff 32             	push   %fs:(%edx)
41a4bf:	64 89 22             	mov    %esp,%fs:(%edx)
41a4c2:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
41a4c6:	75 0b                	jne    0x41a4d3
41a4c8:	81 7d 10 00 00 10 00 	cmpl   $0x100000,0x10(%ebp)
41a4cf:	76 0d                	jbe    0x41a4de
41a4d1:	eb 02                	jmp    0x41a4d5
41a4d3:	7e 09                	jle    0x41a4de
41a4d5:	c7 45 f4 00 00 10 00 	movl   $0x100000,-0xc(%ebp)
41a4dc:	eb 06                	jmp    0x41a4e4
41a4de:	8b 45 10             	mov    0x10(%ebp),%eax
41a4e1:	89 45 f4             	mov    %eax,-0xc(%ebp)
41a4e4:	8b 45 f4             	mov    -0xc(%ebp),%eax
41a4e7:	e8 d0 81 fe ff       	call   0x4026bc
41a4ec:	89 45 f8             	mov    %eax,-0x8(%ebp)
41a4ef:	33 d2                	xor    %edx,%edx
41a4f1:	55                   	push   %ebp
41a4f2:	68 29 a6 41 00       	push   $0x41a629