41e227:	8b f0                	mov    %eax,%esi
41e229:	33 c0                	xor    %eax,%eax
41e22b:	89 06                	mov    %eax,(%esi)
41e22d:	8b 45 08             	mov    0x8(%ebp),%eax
41e230:	89 46 04             	mov    %eax,0x4(%esi)
41e233:	8b c6                	mov    %esi,%eax
41e235:	8b d7                	mov    %edi,%edx
41e237:	e8 7c 5f fe ff       	call   0x4041b8
41e23c:	ff 43 14             	incl   0x14(%ebx)
41e23f:	8b c3                	mov    %ebx,%eax
41e241:	8b 10                	mov    (%eax),%edx
41e243:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e249:	5f                   	pop    %edi
41e24a:	5e                   	pop    %esi
41e24b:	5b                   	pop    %ebx
41e24c:	5d                   	pop    %ebp
41e24d:	c2 04 00             	ret    $0x4
41e250:	53                   	push   %ebx
41e251:	56                   	push   %esi
41e252:	57                   	push   %edi
41e253:	8b f9                	mov    %ecx,%edi
41e255:	8b f2                	mov    %edx,%esi
41e257:	8b d8                	mov    %eax,%ebx
41e259:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e25d:	74 0f                	je     0x41e26e
41e25f:	8b 15 a0 b1 49 00    	mov    0x49b1a0,%edx
41e265:	33 c9                	xor    %ecx,%ecx
41e267:	8b c3                	mov    %ebx,%eax
41e269:	e8 8e ef ff ff       	call   0x41d1fc
41e26e:	85 f6                	test   %esi,%esi
41e270:	7c 05                	jl     0x41e277
41e272:	3b 73 14             	cmp    0x14(%ebx),%esi
41e275:	7c 0f                	jl     0x41e286
41e277:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41e27d:	8b ce                	mov    %esi,%ecx
41e27f:	8b c3                	mov    %ebx,%eax
41e281:	e8 76 ef ff ff       	call   0x41d1fc
41e286:	8b c3                	mov    %ebx,%eax
41e288:	8b 10                	mov    (%eax),%edx
41e28a:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e290:	8b 43 10             	mov    0x10(%ebx),%eax
41e293:	8d 04 f0             	lea    (%eax,%esi,8),%eax
41e296:	8b d7                	mov    %edi,%edx
41e298:	e8 1b 5f fe ff       	call   0x4041b8
41e29d:	8b c3                	mov    %ebx,%eax
41e29f:	8b 10                	mov    (%eax),%edx
41e2a1:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e2a7:	5f                   	pop    %edi
41e2a8:	5e                   	pop    %esi
41e2a9:	5b                   	pop    %ebx
41e2aa:	c3                   	ret
41e2ab:	90                   	nop
41e2ac:	53                   	push   %ebx
41e2ad:	56                   	push   %esi
41e2ae:	57                   	push   %edi
41e2af:	8b f9                	mov    %ecx,%edi
41e2b1:	8b f2                	mov    %edx,%esi
41e2b3:	8b d8                	mov    %eax,%ebx
41e2b5:	85 f6                	test   %esi,%esi
41e2b7:	7c 05                	jl     0x41e2be
41e2b9:	3b 73 14             	cmp    0x14(%ebx),%esi
41e2bc:	7c 0f                	jl     0x41e2cd
41e2be:	8b 15 c0 b3 49 00    	mov    0x49b3c0,%edx
41e2c4:	8b ce                	mov    %esi,%ecx
41e2c6:	8b c3                	mov    %ebx,%eax
41e2c8:	e8 2f ef ff ff       	call   0x41d1fc
41e2cd:	8b c3                	mov    %ebx,%eax
41e2cf:	8b 10                	mov    (%eax),%edx
41e2d1:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e2d7:	8b 43 10             	mov    0x10(%ebx),%eax
41e2da:	89 7c f0 04          	mov    %edi,0x4(%eax,%esi,8)
41e2de:	8b c3                	mov    %ebx,%eax
41e2e0:	8b 10                	mov    (%eax),%edx
41e2e2:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e2e8:	5f                   	pop    %edi
41e2e9:	5e                   	pop    %esi
41e2ea:	5b                   	pop    %ebx
41e2eb:	c3                   	ret
41e2ec:	55                   	push   %ebp
41e2ed:	8b ec                	mov    %esp,%ebp
41e2ef:	83 c4 f0             	add    $0xfffffff0,%esp
41e2f2:	53                   	push   %ebx
41e2f3:	56                   	push   %esi
41e2f4:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41e2f7:	89 55 f8             	mov    %edx,-0x8(%ebp)
41e2fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
41e2fd:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41e300:	8b 75 f4             	mov    -0xc(%ebp),%esi
41e303:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e306:	03 45 f4             	add    -0xc(%ebp),%eax
41e309:	d1 e8                	shr    $1,%eax
41e30b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41e30e:	eb 01                	jmp    0x41e311
41e310:	43                   	inc    %ebx
41e311:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e314:	8b d3                	mov    %ebx,%edx
41e316:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e319:	ff 55 08             	call   *0x8(%ebp)
41e31c:	85 c0                	test   %eax,%eax
41e31e:	7c f0                	jl     0x41e310
41e320:	eb 01                	jmp    0x41e323
41e322:	4e                   	dec    %esi
41e323:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41e326:	8b d6                	mov    %esi,%edx
41e328:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e32b:	ff 55 08             	call   *0x8(%ebp)
41e32e:	85 c0                	test   %eax,%eax
41e330:	7f f0                	jg     0x41e322
41e332:	3b f3                	cmp    %ebx,%esi
41e334:	7c 20                	jl     0x41e356
41e336:	8b ce                	mov    %esi,%ecx
41e338:	8b d3                	mov    %ebx,%edx
41e33a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e33d:	e8 c2 fc ff ff       	call   0x41e004
41e342:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
41e345:	75 05                	jne    0x41e34c
41e347:	89 75 f0             	mov    %esi,-0x10(%ebp)
41e34a:	eb 08                	jmp    0x41e354
41e34c:	3b 75 f0             	cmp    -0x10(%ebp),%esi
41e34f:	75 03                	jne    0x41e354
41e351:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41e354:	43                   	inc    %ebx
41e355:	4e                   	dec    %esi
41e356:	3b f3                	cmp    %ebx,%esi
41e358:	7d b7                	jge    0x41e311
41e35a:	3b 75 f8             	cmp    -0x8(%ebp),%esi
41e35d:	7e 11                	jle    0x41e370
41e35f:	8b 45 08             	mov    0x8(%ebp),%eax
41e362:	50                   	push   %eax
41e363:	8b ce                	mov    %esi,%ecx
41e365:	8b 55 f8             	mov    -0x8(%ebp),%edx
41e368:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e36b:	e8 7c ff ff ff       	call   0x41e2ec
41e370:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41e373:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
41e376:	7c 85                	jl     0x41e2fd
41e378:	5e                   	pop    %esi
41e379:	5b                   	pop    %ebx
41e37a:	8b e5                	mov    %ebp,%esp
41e37c:	5d                   	pop    %ebp
41e37d:	c2 04 00             	ret    $0x4
41e380:	53                   	push   %ebx
41e381:	56                   	push   %esi
41e382:	8b f2                	mov    %edx,%esi
41e384:	8b d8                	mov    %eax,%ebx
41e386:	8b d6                	mov    %esi,%edx
41e388:	c1 e2 03             	shl    $0x3,%edx
41e38b:	8d 43 10             	lea    0x10(%ebx),%eax
41e38e:	e8 25 44 fe ff       	call   0x4027b8
41e393:	89 73 18             	mov    %esi,0x18(%ebx)
41e396:	5e                   	pop    %esi
41e397:	5b                   	pop    %ebx
41e398:	c3                   	ret
41e399:	8d 40 00             	lea    0x0(%eax),%eax
41e39c:	53                   	push   %ebx
41e39d:	56                   	push   %esi
41e39e:	8b da                	mov    %edx,%ebx
41e3a0:	8b f0                	mov    %eax,%esi
41e3a2:	3a 5e 1c             	cmp    0x1c(%esi),%bl
41e3a5:	74 11                	je     0x41e3b8
41e3a7:	84 db                	test   %bl,%bl
41e3a9:	74 0a                	je     0x41e3b5
41e3ab:	8b c6                	mov    %esi,%eax
41e3ad:	8b 10                	mov    (%eax),%edx
41e3af:	ff 92 90 00 00 00    	call   *0x90(%edx)
41e3b5:	88 5e 1c             	mov    %bl,0x1c(%esi)
41e3b8:	5e                   	pop    %esi
41e3b9:	5b                   	pop    %ebx
41e3ba:	c3                   	ret
41e3bb:	90                   	nop
41e3bc:	84 d2                	test   %dl,%dl
41e3be:	74 09                	je     0x41e3c9
41e3c0:	8b 10                	mov    (%eax),%edx
41e3c2:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e3c8:	c3                   	ret
41e3c9:	8b 10                	mov    (%eax),%edx
41e3cb:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e3d1:	c3                   	ret
41e3d2:	8b c0                	mov    %eax,%eax
41e3d4:	53                   	push   %ebx
41e3d5:	8b 58 10             	mov    0x10(%eax),%ebx
41e3d8:	8b 0c cb             	mov    (%ebx,%ecx,8),%ecx
41e3db:	8b 58 10             	mov    0x10(%eax),%ebx
41e3de:	8b 14 d3             	mov    (%ebx,%edx,8),%edx
41e3e1:	8b 18                	mov    (%eax),%ebx
41e3e3:	ff 53 34             	call   *0x34(%ebx)
41e3e6:	5b                   	pop    %ebx
41e3e7:	c3                   	ret
41e3e8:	ba d4 e3 41 00       	mov    $0x41e3d4,%edx
41e3ed:	8b 08                	mov    (%eax),%ecx
41e3ef:	ff 91 94 00 00 00    	call   *0x94(%ecx)
41e3f5:	c3                   	ret
41e3f6:	8b c0                	mov    %eax,%eax
41e3f8:	53                   	push   %ebx
41e3f9:	56                   	push   %esi
41e3fa:	8b f2                	mov    %edx,%esi
41e3fc:	8b d8                	mov    %eax,%ebx
41e3fe:	80 7b 1c 00          	cmpb   $0x0,0x1c(%ebx)
41e402:	75 28                	jne    0x41e42c
41e404:	83 7b 14 01          	cmpl   $0x1,0x14(%ebx)
41e408:	7e 22                	jle    0x41e42c
41e40a:	8b c3                	mov    %ebx,%eax
41e40c:	8b 10                	mov    (%eax),%edx
41e40e:	ff 92 84 00 00 00    	call   *0x84(%edx)
41e414:	56                   	push   %esi
41e415:	8b 4b 14             	mov    0x14(%ebx),%ecx
41e418:	49                   	dec    %ecx
41e419:	33 d2                	xor    %edx,%edx
41e41b:	8b c3                	mov    %ebx,%eax
41e41d:	e8 ca fe ff ff       	call   0x41e2ec
41e422:	8b c3                	mov    %ebx,%eax
41e424:	8b 10                	mov    (%eax),%edx
41e426:	ff 92 80 00 00 00    	call   *0x80(%edx)
41e42c:	5e                   	pop    %esi
41e42d:	5b                   	pop    %ebx
41e42e:	c3                   	ret
41e42f:	90                   	nop
41e430:	80 78 1e 00          	cmpb   $0x0,0x1e(%eax)
41e434:	74 0a                	je     0x41e440
41e436:	8b c2                	mov    %edx,%eax
41e438:	8b d1                	mov    %ecx,%edx
41e43a:	e8 c5 a0 fe ff       	call   0x408504
41e43f:	c3                   	ret
41e440:	8b c2                	mov    %edx,%eax
41e442:	8b d1                	mov    %ecx,%edx
41e444:	e8 f3 a0 fe ff       	call   0x40853c
41e449:	c3                   	ret
41e44a:	8b c0                	mov    %eax,%eax
41e44c:	83 c4 f8             	add    $0xfffffff8,%esp
41e44f:	6a 00                	push   $0x0
41e451:	6a 00                	push   $0x0
41e453:	b2 01                	mov    $0x1,%dl
41e455:	8b 08                	mov    (%eax),%ecx
41e457:	ff 51 18             	call   *0x18(%ecx)
41e45a:	89 04 24             	mov    %eax,(%esp)
41e45d:	89 54 24 04          	mov    %edx,0x4(%esp)
41e461:	8b 04 24             	mov    (%esp),%eax
41e464:	8b 54 24 04          	mov    0x4(%esp),%edx
41e468:	59                   	pop    %ecx
41e469:	5a                   	pop    %edx
41e46a:	c3                   	ret
41e46b:	90                   	nop
41e46c:	55                   	push   %ebp
41e46d:	8b ec                	mov    %esp,%ebp
41e46f:	ff 75 0c             	push   0xc(%ebp)
41e472:	ff 75 08             	push   0x8(%ebp)
41e475:	33 d2                	xor    %edx,%edx
41e477:	8b 08                	mov    (%eax),%ecx
41e479:	ff 51 18             	call   *0x18(%ecx)
41e47c:	5d                   	pop    %ebp
41e47d:	c2 08 00             	ret    $0x8
41e480:	53                   	push   %ebx
41e481:	83 c4 f0             	add    $0xfffffff0,%esp
41e484:	8b d8                	mov    %eax,%ebx
41e486:	6a 00                	push   $0x0
41e488:	6a 00                	push   $0x0
41e48a:	b2 01                	mov    $0x1,%dl
41e48c:	8b c3                	mov    %ebx,%eax
41e48e:	8b 08                	mov    (%eax),%ecx
41e490:	ff 51 18             	call   *0x18(%ecx)
41e493:	89 44 24 08          	mov    %eax,0x8(%esp)
41e497:	89 54 24 0c          	mov    %edx,0xc(%esp)
41e49b:	6a 00                	push   $0x0
41e49d:	6a 00                	push   $0x0
41e49f:	b2 02                	mov    $0x2,%dl
41e4a1:	8b c3                	mov    %ebx,%eax
41e4a3:	8b 08                	mov    (%eax),%ecx
41e4a5:	ff 51 18             	call   *0x18(%ecx)
41e4a8:	89 04 24             	mov    %eax,(%esp)
41e4ab:	89 54 24 04          	mov    %edx,0x4(%esp)
41e4af:	ff 74 24 0c          	push   0xc(%esp)
41e4b3:	ff 74 24 0c          	push   0xc(%esp)
41e4b7:	33 d2                	xor    %edx,%edx
41e4b9:	8b c3                	mov    %ebx,%eax
41e4bb:	8b 08                	mov    (%eax),%ecx
41e4bd:	ff 51 18             	call   *0x18(%ecx)
41e4c0:	8b 04 24             	mov    (%esp),%eax
41e4c3:	8b 54 24 04          	mov    0x4(%esp),%edx
41e4c7:	83 c4 10             	add    $0x10,%esp
41e4ca:	5b                   	pop    %ebx
41e4cb:	c3                   	ret
41e4cc:	c3                   	ret
41e4cd:	8d 40 00             	lea    0x0(%eax),%eax
41e4d0:	55                   	push   %ebp
41e4d1:	8b ec                	mov    %esp,%ebp
41e4d3:	ff 75 0c             	push   0xc(%ebp)
41e4d6:	ff 75 08             	push   0x8(%ebp)
41e4d9:	8b 10                	mov    (%eax),%edx
41e4db:	ff 52 08             	call   *0x8(%edx)
41e4de:	5d                   	pop    %ebp
41e4df:	c2 08 00             	ret    $0x8
41e4e2:	8b c0                	mov    %eax,%eax
41e4e4:	55                   	push   %ebp
41e4e5:	8b ec                	mov    %esp,%ebp
41e4e7:	8b c8                	mov    %eax,%ecx
41e4e9:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
41e4ed:	75 0b                	jne    0x41e4fa
41e4ef:	81 7d 08 00 00 00 80 	cmpl   $0x80000000,0x8(%ebp)
41e4f6:	72 17                	jb     0x41e50f
41e4f8:	eb 02                	jmp    0x41e4fc
41e4fa:	7c 13                	jl     0x41e50f
41e4fc:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41e500:	75 0b                	jne    0x41e50d
41e502:	81 7d 08 ff ff ff 7f 	cmpl   $0x7fffffff,0x8(%ebp)
41e509:	76 1b                	jbe    0x41e526
41e50b:	eb 02                	jmp    0x41e50f
41e50d:	7e 17                	jle    0x41e526
41e50f:	8b 0d 54 b4 49 00    	mov    0x49b454,%ecx
41e515:	b2 01                	mov    $0x1,%dl
41e517:	a1 f8 79 40 00       	mov    0x4079f8,%eax
41e51c:	e8 d3 df fe ff       	call   0x40c4f4
41e521:	e8 7a 56 fe ff       	call   0x403ba0
41e526:	8b 45 08             	mov    0x8(%ebp),%eax
41e529:	8b d0                	mov    %eax,%edx
41e52b:	8b c1                	mov    %ecx,%eax
41e52d:	8b 08                	mov    (%eax),%ecx
41e52f:	ff 51 04             	call   *0x4(%ecx)
41e532:	5d                   	pop    %ebp
41e533:	c2 08 00             	ret    $0x8
41e536:	8b c0                	mov    %eax,%eax
41e538:	55                   	push   %ebp
41e539:	8b ec                	mov    %esp,%ebp
41e53b:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
41e541:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
41e547:	8b 45 08             	mov    0x8(%ebp),%eax
41e54a:	8b 40 fc             	mov    -0x4(%eax),%eax
41e54d:	8b 00                	mov    (%eax),%eax
41e54f:	e8 e8 4d fe ff       	call   0x40333c
41e554:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
41e55a:	89 45 f8             	mov    %eax,-0x8(%ebp)
41e55d:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
41e561:	8d 45 f8             	lea    -0x8(%ebp),%eax
41e564:	50                   	push   %eax
41e565:	6a 00                	push   $0x0
41e567:	8b 0d b0 b4 49 00    	mov    0x49b4b0,%ecx
41e56d:	b2 01                	mov    $0x1,%dl
41e56f:	a1 64 90 41 00       	mov    0x419064,%eax
41e574:	e8 b7 df fe ff       	call   0x40c530
41e579:	e8 22 56 fe ff       	call   0x403ba0
41e57e:	8b e5                	mov    %ebp,%esp
41e580:	5d                   	pop    %ebp
41e581:	c3                   	ret
41e582:	8b c0                	mov    %eax,%eax
41e584:	55                   	push   %ebp
41e585:	8b ec                	mov    %esp,%ebp
41e587:	83 c4 e0             	add    $0xffffffe0,%esp
41e58a:	53                   	push   %ebx
41e58b:	56                   	push   %esi
41e58c:	66 89 4d e6          	mov    %cx,-0x1a(%ebp)
41e590:	8b f2                	mov    %edx,%esi