41c338:	e8 d3 1b 00 00       	call   0x41df10
41c33d:	8b d8                	mov    %eax,%ebx
41c33f:	8b 45 08             	mov    0x8(%ebp),%eax
41c342:	33 d2                	xor    %edx,%edx
41c344:	89 50 ec             	mov    %edx,-0x14(%eax)
41c347:	8b 45 08             	mov    0x8(%ebp),%eax
41c34a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c34d:	66 83 78 72 00       	cmpw   $0x0,0x72(%eax)
41c352:	74 1b                	je     0x41c36f
41c354:	8b 45 08             	mov    0x8(%ebp),%eax
41c357:	83 c0 ec             	add    $0xffffffec,%eax
41c35a:	50                   	push   %eax
41c35b:	8b 45 08             	mov    0x8(%ebp),%eax
41c35e:	8b 70 f8             	mov    -0x8(%eax),%esi
41c361:	8b 45 08             	mov    0x8(%ebp),%eax
41c364:	8b 50 f8             	mov    -0x8(%eax),%edx
41c367:	8b cb                	mov    %ebx,%ecx
41c369:	8b 46 74             	mov    0x74(%esi),%eax
41c36c:	ff 56 70             	call   *0x70(%esi)
41c36f:	8b 45 08             	mov    0x8(%ebp),%eax
41c372:	83 78 ec 00          	cmpl   $0x0,-0x14(%eax)
41c376:	75 71                	jne    0x41c3e9
41c378:	8b c3                	mov    %ebx,%eax
41c37a:	ff 50 f4             	call   *-0xc(%eax)
41c37d:	8b 55 08             	mov    0x8(%ebp),%edx
41c380:	89 42 ec             	mov    %eax,-0x14(%edx)
41c383:	8b 45 08             	mov    0x8(%ebp),%eax
41c386:	f6 40 f7 04          	testb  $0x4,-0x9(%eax)
41c38a:	74 17                	je     0x41c3a3
41c38c:	8b 45 08             	mov    0x8(%ebp),%eax
41c38f:	8b 40 ec             	mov    -0x14(%eax),%eax
41c392:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c397:	8b 45 08             	mov    0x8(%ebp),%eax
41c39a:	8b 40 ec             	mov    -0x14(%eax),%eax
41c39d:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41c3a3:	33 c0                	xor    %eax,%eax
41c3a5:	55                   	push   %ebp
41c3a6:	68 d2 c3 41 00       	push   $0x41c3d2
41c3ab:	64 ff 30             	push   %fs:(%eax)
41c3ae:	64 89 20             	mov    %esp,%fs:(%eax)
41c3b1:	8b 45 08             	mov    0x8(%ebp),%eax
41c3b4:	8b 40 f8             	mov    -0x8(%eax),%eax
41c3b7:	8b 48 28             	mov    0x28(%eax),%ecx
41c3ba:	8b 45 08             	mov    0x8(%ebp),%eax
41c3bd:	8b 40 ec             	mov    -0x14(%eax),%eax
41c3c0:	83 ca ff             	or     $0xffffffff,%edx
41c3c3:	8b 18                	mov    (%eax),%ebx
41c3c5:	ff 53 2c             	call   *0x2c(%ebx)
41c3c8:	33 c0                	xor    %eax,%eax
41c3ca:	5a                   	pop    %edx
41c3cb:	59                   	pop    %ecx
41c3cc:	59                   	pop    %ecx
41c3cd:	64 89 10             	mov    %edx,%fs:(%eax)
41c3d0:	eb 17                	jmp    0x41c3e9
41c3d2:	e9 25 7a fe ff       	jmp    0x403dfc
41c3d7:	8b 45 08             	mov    0x8(%ebp),%eax
41c3da:	33 d2                	xor    %edx,%edx
41c3dc:	89 50 ec             	mov    %edx,-0x14(%eax)
41c3df:	e8 d4 7d fe ff       	call   0x4041b8
41c3e4:	e8 23 7e fe ff       	call   0x40420c
41c3e9:	8b 45 08             	mov    0x8(%ebp),%eax
41c3ec:	8b 40 ec             	mov    -0x14(%eax),%eax
41c3ef:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c3f4:	33 c0                	xor    %eax,%eax
41c3f6:	5a                   	pop    %edx
41c3f7:	59                   	pop    %ecx
41c3f8:	59                   	pop    %ecx
41c3f9:	64 89 10             	mov    %edx,%fs:(%eax)
41c3fc:	eb 23                	jmp    0x41c421
41c3fe:	e9 f9 79 fe ff       	jmp    0x403dfc
41c403:	8b 45 08             	mov    0x8(%ebp),%eax
41c406:	50                   	push   %eax
41c407:	8b 45 08             	mov    0x8(%ebp),%eax
41c40a:	83 c0 ec             	add    $0xffffffec,%eax
41c40d:	e8 a6 fe ff ff       	call   0x41c2b8
41c412:	59                   	pop    %ecx
41c413:	84 c0                	test   %al,%al
41c415:	75 05                	jne    0x41c41c
41c417:	e8 9c 7d fe ff       	call   0x4041b8
41c41c:	e8 eb 7d fe ff       	call   0x40420c
41c421:	5f                   	pop    %edi
41c422:	5e                   	pop    %esi
41c423:	5b                   	pop    %ebx
41c424:	5d                   	pop    %ebp
41c425:	c3                   	ret
41c426:	8b c0                	mov    %eax,%eax
41c428:	55                   	push   %ebp
41c429:	8b ec                	mov    %esp,%ebp
41c42b:	53                   	push   %ebx
41c42c:	56                   	push   %esi
41c42d:	57                   	push   %edi
41c42e:	33 c0                	xor    %eax,%eax
41c430:	55                   	push   %ebp
41c431:	68 a0 c4 41 00       	push   $0x41c4a0
41c436:	64 ff 30             	push   %fs:(%eax)
41c439:	64 89 20             	mov    %esp,%fs:(%eax)
41c43c:	8b 45 08             	mov    0x8(%ebp),%eax
41c43f:	8b 40 f8             	mov    -0x8(%eax),%eax
41c442:	8b 50 2c             	mov    0x2c(%eax),%edx
41c445:	8b 45 08             	mov    0x8(%ebp),%eax
41c448:	8b 40 ec             	mov    -0x14(%eax),%eax
41c44b:	66 be f8 ff          	mov    $0xfff8,%si
41c44f:	e8 c4 76 fe ff       	call   0x403b18
41c454:	8b 45 08             	mov    0x8(%ebp),%eax
41c457:	8d 48 e4             	lea    -0x1c(%eax),%ecx
41c45a:	8b 45 08             	mov    0x8(%ebp),%eax
41c45d:	8b 50 ec             	mov    -0x14(%eax),%edx
41c460:	8b 45 08             	mov    0x8(%ebp),%eax
41c463:	8b 40 f8             	mov    -0x8(%eax),%eax
41c466:	8b 18                	mov    (%eax),%ebx
41c468:	ff 53 20             	call   *0x20(%ebx)
41c46b:	8b 45 08             	mov    0x8(%ebp),%eax
41c46e:	8b 40 ec             	mov    -0x14(%eax),%eax
41c471:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
41c475:	74 1f                	je     0x41c496
41c477:	8b 45 08             	mov    0x8(%ebp),%eax
41c47a:	8b 40 e4             	mov    -0x1c(%eax),%eax
41c47d:	e8 9a b8 ff ff       	call   0x417d1c
41c482:	8b 55 08             	mov    0x8(%ebp),%edx
41c485:	3b 42 ec             	cmp    -0x14(%edx),%eax
41c488:	75 0c                	jne    0x41c496
41c48a:	8b 45 08             	mov    0x8(%ebp),%eax
41c48d:	8b 40 ec             	mov    -0x14(%eax),%eax
41c490:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41c496:	33 c0                	xor    %eax,%eax
41c498:	5a                   	pop    %edx
41c499:	59                   	pop    %ecx
41c49a:	59                   	pop    %ecx
41c49b:	64 89 10             	mov    %edx,%fs:(%eax)
41c49e:	eb 23                	jmp    0x41c4c3
41c4a0:	e9 57 79 fe ff       	jmp    0x403dfc
41c4a5:	8b 45 08             	mov    0x8(%ebp),%eax
41c4a8:	50                   	push   %eax
41c4a9:	8b 45 08             	mov    0x8(%ebp),%eax
41c4ac:	83 c0 ec             	add    $0xffffffec,%eax
41c4af:	e8 04 fe ff ff       	call   0x41c2b8
41c4b4:	59                   	pop    %ecx
41c4b5:	84 c0                	test   %al,%al
41c4b7:	75 05                	jne    0x41c4be
41c4b9:	e8 fa 7c fe ff       	call   0x4041b8
41c4be:	e8 49 7d fe ff       	call   0x40420c
41c4c3:	5f                   	pop    %edi
41c4c4:	5e                   	pop    %esi
41c4c5:	5b                   	pop    %ebx
41c4c6:	5d                   	pop    %ebp
41c4c7:	c3                   	ret
41c4c8:	55                   	push   %ebp
41c4c9:	8b ec                	mov    %esp,%ebp
41c4cb:	53                   	push   %ebx
41c4cc:	56                   	push   %esi
41c4cd:	57                   	push   %edi
41c4ce:	33 c0                	xor    %eax,%eax
41c4d0:	55                   	push   %ebp
41c4d1:	68 43 c5 41 00       	push   $0x41c543
41c4d6:	64 ff 30             	push   %fs:(%eax)
41c4d9:	64 89 20             	mov    %esp,%fs:(%eax)
41c4dc:	8b 45 08             	mov    0x8(%ebp),%eax
41c4df:	8b 50 e8             	mov    -0x18(%eax),%edx
41c4e2:	8b 45 08             	mov    0x8(%ebp),%eax
41c4e5:	8b 40 f8             	mov    -0x8(%eax),%eax
41c4e8:	e8 23 1a 00 00       	call   0x41df10
41c4ed:	8b c8                	mov    %eax,%ecx
41c4ef:	8b 45 08             	mov    0x8(%ebp),%eax
41c4f2:	8b 50 e4             	mov    -0x1c(%eax),%edx
41c4f5:	8b 45 08             	mov    0x8(%ebp),%eax
41c4f8:	8b 40 f8             	mov    -0x8(%eax),%eax
41c4fb:	8b 18                	mov    (%eax),%ebx
41c4fd:	ff 53 14             	call   *0x14(%ebx)
41c500:	8b 55 08             	mov    0x8(%ebp),%edx
41c503:	89 42 ec             	mov    %eax,-0x14(%edx)
41c506:	8b 45 08             	mov    0x8(%ebp),%eax
41c509:	8b 40 ec             	mov    -0x14(%eax),%eax
41c50c:	66 be f2 ff          	mov    $0xfff2,%si
41c510:	e8 03 76 fe ff       	call   0x403b18
41c515:	8b d8                	mov    %eax,%ebx
41c517:	8b 45 08             	mov    0x8(%ebp),%eax
41c51a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c51d:	89 58 2c             	mov    %ebx,0x2c(%eax)
41c520:	8b 45 08             	mov    0x8(%ebp),%eax
41c523:	85 db                	test   %ebx,%ebx
41c525:	75 12                	jne    0x41c539
41c527:	8b 45 08             	mov    0x8(%ebp),%eax
41c52a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c52d:	8b 40 18             	mov    0x18(%eax),%eax
41c530:	8b 55 08             	mov    0x8(%ebp),%edx
41c533:	8b 52 f8             	mov    -0x8(%edx),%edx
41c536:	89 42 2c             	mov    %eax,0x2c(%edx)
41c539:	33 c0                	xor    %eax,%eax
41c53b:	5a                   	pop    %edx
41c53c:	59                   	pop    %ecx
41c53d:	59                   	pop    %ecx
41c53e:	64 89 10             	mov    %edx,%fs:(%eax)
41c541:	eb 23                	jmp    0x41c566
41c543:	e9 b4 78 fe ff       	jmp    0x403dfc
41c548:	8b 45 08             	mov    0x8(%ebp),%eax
41c54b:	50                   	push   %eax
41c54c:	8b 45 08             	mov    0x8(%ebp),%eax
41c54f:	83 c0 ec             	add    $0xffffffec,%eax
41c552:	e8 61 fd ff ff       	call   0x41c2b8
41c557:	59                   	pop    %ecx
41c558:	84 c0                	test   %al,%al
41c55a:	75 05                	jne    0x41c561
41c55c:	e8 57 7c fe ff       	call   0x4041b8
41c561:	e8 a6 7c fe ff       	call   0x40420c
41c566:	5f                   	pop    %edi
41c567:	5e                   	pop    %esi
41c568:	5b                   	pop    %ebx
41c569:	5d                   	pop    %ebp
41c56a:	c3                   	ret
41c56b:	90                   	nop
41c56c:	55                   	push   %ebp
41c56d:	8b ec                	mov    %esp,%ebp
41c56f:	83 c4 d8             	add    $0xffffffd8,%esp
41c572:	53                   	push   %ebx
41c573:	56                   	push   %esi
41c574:	57                   	push   %edi
41c575:	33 c9                	xor    %ecx,%ecx
41c577:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41c57a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41c57d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c580:	89 55 f0             	mov    %edx,-0x10(%ebp)
41c583:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c586:	33 c0                	xor    %eax,%eax
41c588:	55                   	push   %ebp
41c589:	68 90 c7 41 00       	push   $0x41c790
41c58e:	64 ff 30             	push   %fs:(%eax)
41c591:	64 89 20             	mov    %esp,%fs:(%eax)
41c594:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41c597:	8d 55 f7             	lea    -0x9(%ebp),%edx
41c59a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c59d:	8b 18                	mov    (%eax),%ebx
41c59f:	ff 53 28             	call   *0x28(%ebx)
41c5a2:	8d 55 e8             	lea    -0x18(%ebp),%edx
41c5a5:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c5a8:	e8 df 12 00 00       	call   0x41d88c
41c5ad:	8d 55 e4             	lea    -0x1c(%ebp),%edx
41c5b0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c5b3:	e8 d4 12 00 00       	call   0x41d88c
41c5b8:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c5bb:	8b 40 2c             	mov    0x2c(%eax),%eax
41c5be:	89 45 dc             	mov    %eax,-0x24(%ebp)
41c5c1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c5c4:	8b 40 1c             	mov    0x1c(%eax),%eax
41c5c7:	89 45 d8             	mov    %eax,-0x28(%ebp)
41c5ca:	33 c0                	xor    %eax,%eax
41c5cc:	55                   	push   %ebp
41c5cd:	68 60 c7 41 00       	push   $0x41c760
41c5d2:	64 ff 30             	push   %fs:(%eax)
41c5d5:	64 89 20             	mov    %esp,%fs:(%eax)
41c5d8:	8b 45 f0             	mov    -0x10(%ebp),%eax
41c5db:	89 45 ec             	mov    %eax,-0x14(%ebp)
41c5de:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41c5e2:	75 16                	jne    0x41c5fa
41c5e4:	f6 45 f7 01          	testb  $0x1,-0x9(%ebp)
41c5e8:	74 09                	je     0x41c5f3
41c5ea:	55                   	push   %ebp
41c5eb:	e8 d8 fe ff ff       	call   0x41c4c8
41c5f0:	59                   	pop    %ecx
41c5f1:	eb 07                	jmp    0x41c5fa
41c5f3:	55                   	push   %ebp
41c5f4:	e8 1f fd ff ff       	call   0x41c318
41c5f9:	59                   	pop    %ecx
41c5fa:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41c5fe:	0f 84 3c 01 00 00    	je     0x41c740
41c604:	33 c0                	xor    %eax,%eax
41c606:	55                   	push   %ebp
41c607:	68 1e c7 41 00       	push   $0x41c71e
41c60c:	64 ff 30             	push   %fs:(%eax)
41c60f:	64 89 20             	mov    %esp,%fs:(%eax)
41c612:	55                   	push   %ebp
41c613:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c616:	e8 9d fb ff ff       	call   0x41c1b8
41c61b:	59                   	pop    %ecx
41c61c:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c61f:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c624:	55                   	push   %ebp
41c625:	b2 01                	mov    $0x1,%dl
41c627:	0f b7 05 a4 c7 41 00 	movzwl 0x41c7a4,%eax
41c62e:	e8 fd fb ff ff       	call   0x41c230
41c633:	59                   	pop    %ecx
41c634:	f6 45 f7 01          	testb  $0x1,-0x9(%ebp)
41c638:	75 07                	jne    0x41c641
41c63a:	55                   	push   %ebp
41c63b:	e8 e8 fd ff ff       	call   0x41c428
41c640:	59                   	pop    %ecx
41c641:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41c645:	75 12                	jne    0x41c659
41c647:	33 c0                	xor    %eax,%eax
41c649:	5a                   	pop    %edx
41c64a:	59                   	pop    %ecx
41c64b:	59                   	pop    %ecx
41c64c:	64 89 10             	mov    %edx,%fs:(%eax)
41c64f:	e8 e8 7b fe ff       	call   0x40423c
41c654:	e9 0e 01 00 00       	jmp    0x41c767
41c659:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c65c:	f6 40 1d 02          	testb  $0x2,0x1d(%eax)
41c660:	74 09                	je     0x41c66b
41c662:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c665:	8b 55 ec             	mov    -0x14(%ebp),%edx
41c668:	89 50 1c             	mov    %edx,0x1c(%eax)
41c66b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c66e:	66 83 48 1c 02       	orw    $0x2,0x1c(%eax)
41c673:	55                   	push   %ebp
41c674:	b2 01                	mov    $0x1,%dl
41c676:	0f b7 05 a8 c7 41 00 	movzwl 0x41c7a8,%eax
41c67d:	e8 ae fb ff ff       	call   0x41c230
41c682:	59                   	pop    %ecx
41c683:	8b 55 f8             	mov    -0x8(%ebp),%edx
41c686:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c689:	8b 08                	mov    (%eax),%ecx
41c68b:	ff 51 14             	call   *0x14(%ecx)
41c68e:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c691:	66 83 60 1c fd       	andw   $0xfffd,0x1c(%eax)
41c696:	55                   	push   %ebp
41c697:	33 d2                	xor    %edx,%edx
41c699:	0f b7 05 a8 c7 41 00 	movzwl 0x41c7a8,%eax
41c6a0:	e8 8b fb ff ff       	call   0x41c230
41c6a5:	59                   	pop    %ecx
41c6a6:	f6 45 f7 02          	testb  $0x2,-0x9(%ebp)
41c6aa:	74 15                	je     0x41c6c1
41c6ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6af:	8b 40 2c             	mov    0x2c(%eax),%eax
41c6b2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
41c6b5:	8b 55 ec             	mov    -0x14(%ebp),%edx
41c6b8:	66 be f9 ff          	mov    $0xfff9,%si
41c6bc:	e8 57 74 fe ff       	call   0x403b18
41c6c1:	f6 45 f7 01          	testb  $0x1,-0x9(%ebp)
41c6c5:	75 09                	jne    0x41c6d0
41c6c7:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c6ca:	f6 40 1d 02          	testb  $0x2,0x1d(%eax)
41c6ce:	74 2c                	je     0x41c6fc
41c6d0:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6d3:	8b 40 34             	mov    0x34(%eax),%eax
41c6d6:	8b 55 ec             	mov    -0x14(%ebp),%edx
41c6d9:	e8 56 bb ff ff       	call   0x418234
41c6de:	85 c0                	test   %eax,%eax
41c6e0:	7d 32                	jge    0x41c714
41c6e2:	55                   	push   %ebp
41c6e3:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c6e6:	e8 91 fa ff ff       	call   0x41c17c
41c6eb:	59                   	pop    %ecx
41c6ec:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c6ef:	8b 40 34             	mov    0x34(%eax),%eax
41c6f2:	8b 55 ec             	mov    -0x14(%ebp),%edx
41c6f5:	e8 7e b9 ff ff       	call   0x418078
41c6fa:	eb 18                	jmp    0x41c714
41c6fc:	55                   	push   %ebp
41c6fd:	8b 45 ec             	mov    -0x14(%ebp),%eax
41c700:	e8 77 fa ff ff       	call   0x41c17c
41c705:	59                   	pop    %ecx