41d400:	8b ff                	mov    %edi,%edi
41d402:	55                   	push   %ebp
41d403:	8b ec                	mov    %esp,%ebp
41d405:	81 ec 30 06 00 00    	sub    $0x630,%esp
41d40b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41d410:	33 c5                	xor    %ebp,%eax
41d412:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d415:	8b 45 08             	mov    0x8(%ebp),%eax
41d418:	53                   	push   %ebx
41d419:	56                   	push   %esi
41d41a:	57                   	push   %edi
41d41b:	68 08 02 00 00       	push   $0x208
41d420:	89 85 d4 f9 ff ff    	mov    %eax,-0x62c(%ebp)
41d426:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
41d42c:	6a 00                	push   $0x0
41d42e:	50                   	push   %eax
41d42f:	89 95 d0 f9 ff ff    	mov    %edx,-0x630(%ebp)
41d435:	89 8d dc f9 ff ff    	mov    %ecx,-0x624(%ebp)
41d43b:	c7 85 e0 f9 ff ff 00 	movl   $0x0,-0x620(%ebp)
41d442:	00 00 00
41d445:	e8 17 06 03 00       	call   0x44da61
41d44a:	68 08 02 00 00       	push   $0x208
41d44f:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d455:	6a 00                	push   $0x0
41d457:	50                   	push   %eax
41d458:	e8 04 06 03 00       	call   0x44da61
41d45d:	68 08 02 00 00       	push   $0x208
41d462:	8d 85 e4 f9 ff ff    	lea    -0x61c(%ebp),%eax
41d468:	6a 00                	push   $0x0
41d46a:	50                   	push   %eax
41d46b:	e8 f1 05 03 00       	call   0x44da61
41d470:	83 c4 24             	add    $0x24,%esp
41d473:	c7 85 d8 f9 ff ff 00 	movl   $0x0,-0x628(%ebp)
41d47a:	00 00 00
41d47d:	8d 95 e0 f9 ff ff    	lea    -0x620(%ebp),%edx
41d483:	e8 28 f6 01 00       	call   0x43cab0
41d488:	8b bd e0 f9 ff ff    	mov    -0x620(%ebp),%edi
41d48e:	8b d8                	mov    %eax,%ebx
41d490:	85 db                	test   %ebx,%ebx
41d492:	0f 88 a6 00 00 00    	js     0x41d53e
41d498:	8b 37                	mov    (%edi),%esi
41d49a:	8d 85 e4 f9 ff ff    	lea    -0x61c(%ebp),%eax
41d4a0:	50                   	push   %eax
41d4a1:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d4a7:	50                   	push   %eax
41d4a8:	8b 76 20             	mov    0x20(%esi),%esi
41d4ab:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
41d4b1:	50                   	push   %eax
41d4b2:	ff b5 d0 f9 ff ff    	push   -0x630(%ebp)
41d4b8:	8b ce                	mov    %esi,%ecx
41d4ba:	ff 15 84 23 45 00    	call   *0x452384
41d4c0:	8b cf                	mov    %edi,%ecx
41d4c2:	ff d6                	call   *%esi
41d4c4:	8b d8                	mov    %eax,%ebx
41d4c6:	85 db                	test   %ebx,%ebx
41d4c8:	78 74                	js     0x41d53e
41d4ca:	ff b5 dc f9 ff ff    	push   -0x624(%ebp)
41d4d0:	8b 37                	mov    (%edi),%esi
41d4d2:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d4d8:	68 38 d5 40 00       	push   $0x40d538
41d4dd:	50                   	push   %eax
41d4de:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
41d4e4:	8b 76 2c             	mov    0x2c(%esi),%esi
41d4e7:	8b ce                	mov    %esi,%ecx
41d4e9:	50                   	push   %eax
41d4ea:	ff 15 84 23 45 00    	call   *0x452384
41d4f0:	8b cf                	mov    %edi,%ecx
41d4f2:	ff d6                	call   *%esi
41d4f4:	8b d8                	mov    %eax,%ebx
41d4f6:	85 db                	test   %ebx,%ebx
41d4f8:	78 44                	js     0x41d53e
41d4fa:	83 bd d4 f9 ff ff 00 	cmpl   $0x0,-0x62c(%ebp)
41d501:	74 3b                	je     0x41d53e
41d503:	8b 07                	mov    (%edi),%eax
41d505:	8d 8d d8 f9 ff ff    	lea    -0x628(%ebp),%ecx
41d50b:	51                   	push   %ecx
41d50c:	ff b5 dc f9 ff ff    	push   -0x624(%ebp)
41d512:	8b 70 38             	mov    0x38(%eax),%esi
41d515:	8b ce                	mov    %esi,%ecx
41d517:	ff 15 84 23 45 00    	call   *0x452384
41d51d:	8b cf                	mov    %edi,%ecx
41d51f:	ff d6                	call   *%esi
41d521:	85 c0                	test   %eax,%eax
41d523:	75 0f                	jne    0x41d534
41d525:	39 85 d8 f9 ff ff    	cmp    %eax,-0x628(%ebp)
41d52b:	75 07                	jne    0x41d534
41d52d:	b8 01 00 00 00       	mov    $0x1,%eax
41d532:	eb 02                	jmp    0x41d536
41d534:	33 c0                	xor    %eax,%eax
41d536:	8b 8d d4 f9 ff ff    	mov    -0x62c(%ebp),%ecx
41d53c:	89 01                	mov    %eax,(%ecx)
41d53e:	85 ff                	test   %edi,%edi
41d540:	74 12                	je     0x41d554
41d542:	8b 07                	mov    (%edi),%eax
41d544:	6a 01                	push   $0x1
41d546:	8b 30                	mov    (%eax),%esi
41d548:	8b ce                	mov    %esi,%ecx
41d54a:	ff 15 84 23 45 00    	call   *0x452384
41d550:	8b cf                	mov    %edi,%ecx
41d552:	ff d6                	call   *%esi
41d554:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d557:	8b c3                	mov    %ebx,%eax
41d559:	5f                   	pop    %edi
41d55a:	5e                   	pop    %esi
41d55b:	33 cd                	xor    %ebp,%ecx
41d55d:	5b                   	pop    %ebx
41d55e:	e8 ed f9 02 00       	call   0x44cf50
41d563:	8b e5                	mov    %ebp,%esp
41d565:	5d                   	pop    %ebp
41d566:	c2 04 00             	ret    $0x4
41d569:	cc                   	int3
41d56a:	cc                   	int3
41d56b:	cc                   	int3
41d56c:	cc                   	int3
41d56d:	cc                   	int3
41d56e:	cc                   	int3
41d56f:	cc                   	int3
41d570:	8b ff                	mov    %edi,%edi
41d572:	55                   	push   %ebp
41d573:	8b ec                	mov    %esp,%ebp
41d575:	83 ec 08             	sub    $0x8,%esp
41d578:	53                   	push   %ebx
41d579:	56                   	push   %esi
41d57a:	57                   	push   %edi
41d57b:	8b fa                	mov    %edx,%edi
41d57d:	8b d9                	mov    %ecx,%ebx
41d57f:	57                   	push   %edi
41d580:	53                   	push   %ebx
41d581:	68 98 3e 40 00       	push   $0x403e98
41d586:	ff 15 74 23 45 00    	call   *0x452374
41d58c:	8b 75 08             	mov    0x8(%ebp),%esi
41d58f:	83 c4 0c             	add    $0xc,%esp
41d592:	56                   	push   %esi
41d593:	57                   	push   %edi
41d594:	53                   	push   %ebx
41d595:	ff 15 fc 20 45 00    	call   *0x4520fc
41d59b:	85 c0                	test   %eax,%eax
41d59d:	0f 85 f4 00 00 00    	jne    0x41d697
41d5a3:	ff 15 6c 20 45 00    	call   *0x45206c
41d5a9:	f7 c6 fe ff ff ff    	test   $0xfffffffe,%esi
41d5af:	74 3e                	je     0x41d5ef
41d5b1:	6a 0a                	push   $0xa
41d5b3:	68 d8 3e 40 00       	push   $0x403ed8
41d5b8:	68 9c c3 40 00       	push   $0x40c39c
41d5bd:	ff 15 74 23 45 00    	call   *0x452374
41d5c3:	83 c4 0c             	add    $0xc,%esp
41d5c6:	e8 25 07 02 00       	call   0x43dcf0
41d5cb:	83 c0 10             	add    $0x10,%eax
41d5ce:	74 14                	je     0x41d5e4
41d5d0:	e8 1b 07 02 00       	call   0x43dcf0
41d5d5:	83 c0 14             	add    $0x14,%eax
41d5d8:	c7 40 04 cf 0c 00 00 	movl   $0xccf,0x4(%eax)
41d5df:	e9 86 00 00 00       	jmp    0x41d66a
41d5e4:	33 c0                	xor    %eax,%eax
41d5e6:	c7 40 04 cf 0c 00 00 	movl   $0xccf,0x4(%eax)
41d5ed:	eb 7b                	jmp    0x41d66a
41d5ef:	83 f8 11             	cmp    $0x11,%eax
41d5f2:	75 40                	jne    0x41d634
41d5f4:	f7 d6                	not    %esi
41d5f6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41d5fd:	83 e6 01             	and    $0x1,%esi
41d600:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
41d607:	56                   	push   %esi
41d608:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d60b:	50                   	push   %eax
41d60c:	8d 45 f8             	lea    -0x8(%ebp),%eax
41d60f:	50                   	push   %eax
41d610:	68 50 d2 41 00       	push   $0x41d250
41d615:	57                   	push   %edi
41d616:	53                   	push   %ebx
41d617:	ff 15 00 21 45 00    	call   *0x452100
41d61d:	f7 d8                	neg    %eax
41d61f:	5f                   	pop    %edi
41d620:	1b c0                	sbb    %eax,%eax
41d622:	25 08 04 00 00       	and    $0x408,%eax
41d627:	5e                   	pop    %esi
41d628:	05 f8 fb ff ff       	add    $0xfffffbf8,%eax
41d62d:	5b                   	pop    %ebx
41d62e:	8b e5                	mov    %ebp,%esp
41d630:	5d                   	pop    %ebp
41d631:	c2 04 00             	ret    $0x4
41d634:	85 c0                	test   %eax,%eax
41d636:	74 5f                	je     0x41d697
41d638:	6a 0a                	push   $0xa
41d63a:	68 d8 3e 40 00       	push   $0x403ed8
41d63f:	68 9c c3 40 00       	push   $0x40c39c
41d644:	ff 15 74 23 45 00    	call   *0x452374
41d64a:	83 c4 0c             	add    $0xc,%esp
41d64d:	e8 9e 06 02 00       	call   0x43dcf0
41d652:	83 c0 10             	add    $0x10,%eax
41d655:	74 0a                	je     0x41d661
41d657:	e8 94 06 02 00       	call   0x43dcf0
41d65c:	83 c0 14             	add    $0x14,%eax
41d65f:	eb 02                	jmp    0x41d663
41d661:	33 c0                	xor    %eax,%eax
41d663:	c7 40 04 e5 0c 00 00 	movl   $0xce5,0x4(%eax)
41d66a:	81 3d 30 1a 45 00 f8 	cmpl   $0xfffffbf8,0x451a30
41d671:	fb ff ff
41d674:	c7 40 08 f8 fb ff ff 	movl   $0xfffffbf8,0x8(%eax)
41d67b:	c7 00 e4 4e 40 00    	movl   $0x404ee4,(%eax)
41d681:	75 06                	jne    0x41d689
41d683:	ff 15 58 20 45 00    	call   *0x452058
41d689:	5f                   	pop    %edi
41d68a:	5e                   	pop    %esi
41d68b:	b8 f8 fb ff ff       	mov    $0xfffffbf8,%eax
41d690:	5b                   	pop    %ebx
41d691:	8b e5                	mov    %ebp,%esp
41d693:	5d                   	pop    %ebp
41d694:	c2 04 00             	ret    $0x4
41d697:	6a 0a                	push   $0xa
41d699:	68 c8 3e 40 00       	push   $0x403ec8
41d69e:	68 9c c3 40 00       	push   $0x40c39c
41d6a3:	ff 15 74 23 45 00    	call   *0x452374
41d6a9:	83 c4 0c             	add    $0xc,%esp
41d6ac:	33 c0                	xor    %eax,%eax
41d6ae:	5f                   	pop    %edi
41d6af:	5e                   	pop    %esi
41d6b0:	5b                   	pop    %ebx
41d6b1:	8b e5                	mov    %ebp,%esp
41d6b3:	5d                   	pop    %ebp
41d6b4:	c2 04 00             	ret    $0x4
41d6b7:	cc                   	int3
41d6b8:	cc                   	int3
41d6b9:	cc                   	int3
41d6ba:	cc                   	int3
41d6bb:	cc                   	int3
41d6bc:	cc                   	int3
41d6bd:	cc                   	int3
41d6be:	cc                   	int3
41d6bf:	cc                   	int3
41d6c0:	8b ff                	mov    %edi,%edi
41d6c2:	55                   	push   %ebp
41d6c3:	8b ec                	mov    %esp,%ebp
41d6c5:	81 ec 10 02 00 00    	sub    $0x210,%esp
41d6cb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41d6d0:	33 c5                	xor    %ebp,%eax
41d6d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d6d5:	56                   	push   %esi
41d6d6:	8b f1                	mov    %ecx,%esi
41d6d8:	ff 76 14             	push   0x14(%esi)
41d6db:	ff 15 d4 20 45 00    	call   *0x4520d4
41d6e1:	68 08 02 00 00       	push   $0x208
41d6e6:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d6ec:	6a 00                	push   $0x0
41d6ee:	50                   	push   %eax
41d6ef:	e8 6d 03 03 00       	call   0x44da61
41d6f4:	8b 56 14             	mov    0x14(%esi),%edx
41d6f7:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
41d6fd:	83 c4 0c             	add    $0xc,%esp
41d700:	c7 85 f0 fd ff ff 00 	movl   $0x0,-0x210(%ebp)
41d707:	00 00 00
41d70a:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
41d710:	50                   	push   %eax
41d711:	e8 ea fc ff ff       	call   0x41d400
41d716:	5e                   	pop    %esi
41d717:	85 c0                	test   %eax,%eax
41d719:	78 16                	js     0x41d731
41d71b:	83 bd f0 fd ff ff 00 	cmpl   $0x0,-0x210(%ebp)
41d722:	74 0d                	je     0x41d731
41d724:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
41d72a:	50                   	push   %eax
41d72b:	ff 15 d4 20 45 00    	call   *0x4520d4
41d731:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d734:	33 cd                	xor    %ebp,%ecx
41d736:	e8 15 f8 02 00       	call   0x44cf50
41d73b:	8b e5                	mov    %ebp,%esp
41d73d:	5d                   	pop    %ebp
41d73e:	c3                   	ret
41d73f:	cc                   	int3
41d740:	8b ff                	mov    %edi,%edi
41d742:	55                   	push   %ebp
41d743:	8b ec                	mov    %esp,%ebp
41d745:	81 ec 9c 0c 00 00    	sub    $0xc9c,%esp
41d74b:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
41d750:	33 c5                	xor    %ebp,%eax
41d752:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d755:	53                   	push   %ebx
41d756:	56                   	push   %esi
41d757:	57                   	push   %edi
41d758:	68 08 02 00 00       	push   $0x208
41d75d:	33 ff                	xor    %edi,%edi
41d75f:	8d 85 d8 f9 ff ff    	lea    -0x628(%ebp),%eax
41d765:	57                   	push   %edi
41d766:	50                   	push   %eax
41d767:	8b f2                	mov    %edx,%esi
41d769:	e8 f3 02 03 00       	call   0x44da61
41d76e:	68 08 02 00 00       	push   $0x208
41d773:	8d 85 e0 fb ff ff    	lea    -0x420(%ebp),%eax
41d779:	57                   	push   %edi
41d77a:	50                   	push   %eax
41d77b:	e8 e1 02 03 00       	call   0x44da61
41d780:	83 c4 18             	add    $0x18,%esp
41d783:	89 bd 64 f3 ff ff    	mov    %edi,-0xc9c(%ebp)
41d789:	8d 85 68 f3 ff ff    	lea    -0xc98(%ebp),%eax
41d78f:	50                   	push   %eax
41d790:	ff 76 04             	push   0x4(%esi)
41d793:	ff 15 88 20 45 00    	call   *0x452088
41d799:	8b d8                	mov    %eax,%ebx
41d79b:	8b 46 04             	mov    0x4(%esi),%eax
41d79e:	83 fb ff             	cmp    $0xffffffff,%ebx
41d7a1:	0f 84 ac 00 00 00    	je     0x41d853
41d7a7:	57                   	push   %edi
41d7a8:	57                   	push   %edi
41d7a9:	57                   	push   %edi
41d7aa:	57                   	push   %edi
41d7ab:	68 05 01 00 00       	push   $0x105
41d7b0:	8d 8d c8 f7 ff ff    	lea    -0x838(%ebp),%ecx
41d7b6:	51                   	push   %ecx
41d7b7:	68 05 01 00 00       	push   $0x105
41d7bc:	8d 8d b8 f5 ff ff    	lea    -0xa48(%ebp),%ecx
41d7c2:	51                   	push   %ecx
41d7c3:	50                   	push   %eax
41d7c4:	ff 15 e8 22 45 00    	call   *0x4522e8
41d7ca:	57                   	push   %edi
41d7cb:	57                   	push   %edi
41d7cc:	8d 85 c8 f7 ff ff    	lea    -0x838(%ebp),%eax
41d7d2:	50                   	push   %eax
41d7d3:	8d 85 b8 f5 ff ff    	lea    -0xa48(%ebp),%eax
41d7d9:	50                   	push   %eax
41d7da:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
41d7e0:	68 05 01 00 00       	push   $0x105
41d7e5:	50                   	push   %eax
41d7e6:	ff 15 ec 22 45 00    	call   *0x4522ec
41d7ec:	83 c4 3c             	add    $0x3c,%esp
41d7ef:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
41d7f5:	b9 05 01 00 00       	mov    $0x105,%ecx
41d7fa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
41d800:	66 39 38             	cmp    %di,(%eax)
41d803:	74 08                	je     0x41d80d
41d805:	83 c0 02             	add    $0x2,%eax
41d808:	83 e9 01             	sub    $0x1,%ecx
41d80b:	75 f3                	jne    0x41d800
41d80d:	85 c9                	test   %ecx,%ecx
41d80f:	74 39                	je     0x41d84a
41d811:	8b d1                	mov    %ecx,%edx
41d813:	8d 85 94 f3 ff ff    	lea    -0xc6c(%ebp),%eax
41d819:	51                   	push   %ecx
41d81a:	50                   	push   %eax
41d81b:	f7 da                	neg    %edx
41d81d:	8d 81 fb fe ff ff    	lea    -0x105(%ecx),%eax
41d823:	51                   	push   %ecx
41d824:	1b d2                	sbb    %edx,%edx
41d826:	23 d0                	and    %eax,%edx
41d828:	b8 05 01 00 00       	mov    $0x105,%eax
41d82d:	2b c1                	sub    %ecx,%eax
41d82f:	81 c2 05 01 00 00    	add    $0x105,%edx
41d835:	03 c0                	add    %eax,%eax
41d837:	f7 d9                	neg    %ecx
41d839:	1b c9                	sbb    %ecx,%ecx
41d83b:	23 c8                	and    %eax,%ecx