415565:	56                   	push   %esi
415566:	57                   	push   %edi
415567:	6a 03                	push   $0x3
415569:	8b 03                	mov    (%ebx),%eax
41556b:	8b 70 0c             	mov    0xc(%eax),%esi
41556e:	8b ce                	mov    %esi,%ecx
415570:	ff 15 84 23 45 00    	call   *0x452384
415576:	8b cb                	mov    %ebx,%ecx
415578:	ff d6                	call   *%esi
41557a:	8d 4b 44             	lea    0x44(%ebx),%ecx
41557d:	e8 ce f9 ff ff       	call   0x414f50
415582:	8b 43 08             	mov    0x8(%ebx),%eax
415585:	8b 70 04             	mov    0x4(%eax),%esi
415588:	8b ce                	mov    %esi,%ecx
41558a:	ff 15 84 23 45 00    	call   *0x452384
415590:	8d 4b 08             	lea    0x8(%ebx),%ecx
415593:	ff d6                	call   *%esi
415595:	8b 43 30             	mov    0x30(%ebx),%eax
415598:	c7 43 60 00 00 00 00 	movl   $0x0,0x60(%ebx)
41559f:	c7 43 5c 00 00 00 00 	movl   $0x0,0x5c(%ebx)
4155a6:	c7 43 64 00 00 00 00 	movl   $0x0,0x64(%ebx)
4155ad:	c7 43 68 00 00 00 00 	movl   $0x0,0x68(%ebx)
4155b4:	c7 43 6c 00 00 00 00 	movl   $0x0,0x6c(%ebx)
4155bb:	85 c0                	test   %eax,%eax
4155bd:	74 0a                	je     0x4155c9
4155bf:	50                   	push   %eax
4155c0:	ff 15 08 23 45 00    	call   *0x452308
4155c6:	83 c4 04             	add    $0x4,%esp
4155c9:	8b 43 40             	mov    0x40(%ebx),%eax
4155cc:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
4155d3:	c7 43 38 00 00 00 00 	movl   $0x0,0x38(%ebx)
4155da:	c7 43 3c 00 00 00 00 	movl   $0x0,0x3c(%ebx)
4155e1:	85 c0                	test   %eax,%eax
4155e3:	74 0a                	je     0x4155ef
4155e5:	50                   	push   %eax
4155e6:	ff 15 08 23 45 00    	call   *0x452308
4155ec:	83 c4 04             	add    $0x4,%esp
4155ef:	5f                   	pop    %edi
4155f0:	5e                   	pop    %esi
4155f1:	c7 43 40 00 00 00 00 	movl   $0x0,0x40(%ebx)
4155f8:	8d 4b 44             	lea    0x44(%ebx),%ecx
4155fb:	5b                   	pop    %ebx
4155fc:	e9 ef f9 ff ff       	jmp    0x414ff0
415601:	cc                   	int3
415602:	cc                   	int3
415603:	cc                   	int3
415604:	cc                   	int3
415605:	cc                   	int3
415606:	cc                   	int3
415607:	cc                   	int3
415608:	cc                   	int3
415609:	cc                   	int3
41560a:	cc                   	int3
41560b:	cc                   	int3
41560c:	cc                   	int3
41560d:	cc                   	int3
41560e:	cc                   	int3
41560f:	cc                   	int3
415610:	8b ff                	mov    %edi,%edi
415612:	56                   	push   %esi
415613:	8b f1                	mov    %ecx,%esi
415615:	c7 06 70 10 40 00    	movl   $0x401070,(%esi)
41561b:	c7 46 08 08 10 40 00 	movl   $0x401008,0x8(%esi)
415622:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
415629:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
415630:	c7 46 10 ff ff ff ff 	movl   $0xffffffff,0x10(%esi)
415637:	c7 46 14 ff ff ff ff 	movl   $0xffffffff,0x14(%esi)
41563e:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
415645:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
41564c:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
415653:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
41565a:	c7 46 44 00 00 00 00 	movl   $0x0,0x44(%esi)
415661:	c7 46 48 00 00 00 00 	movl   $0x0,0x48(%esi)
415668:	c7 46 4c 00 00 00 00 	movl   $0x0,0x4c(%esi)
41566f:	c7 46 50 00 00 00 00 	movl   $0x0,0x50(%esi)
415676:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
41567d:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
415684:	c7 46 58 00 00 00 00 	movl   $0x0,0x58(%esi)
41568b:	e8 d0 fe ff ff       	call   0x415560
415690:	8b c6                	mov    %esi,%eax
415692:	5e                   	pop    %esi
415693:	c3                   	ret
415694:	cc                   	int3
415695:	cc                   	int3
415696:	cc                   	int3
415697:	cc                   	int3
415698:	cc                   	int3
415699:	cc                   	int3
41569a:	cc                   	int3
41569b:	cc                   	int3
41569c:	cc                   	int3
41569d:	cc                   	int3
41569e:	cc                   	int3
41569f:	cc                   	int3
4156a0:	8b ff                	mov    %edi,%edi
4156a2:	56                   	push   %esi
4156a3:	8b f1                	mov    %ecx,%esi
4156a5:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
4156a9:	c7 06 70 10 40 00    	movl   $0x401070,(%esi)
4156af:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
4156b6:	c7 46 60 00 00 00 00 	movl   $0x0,0x60(%esi)
4156bd:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
4156c4:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
4156cb:	c7 46 6c 00 00 00 00 	movl   $0x0,0x6c(%esi)
4156d2:	74 15                	je     0x4156e9
4156d4:	83 7e 54 00          	cmpl   $0x0,0x54(%esi)
4156d8:	75 08                	jne    0x4156e2
4156da:	8d 4e 44             	lea    0x44(%esi),%ecx
4156dd:	e8 4e fa ff ff       	call   0x415130
4156e2:	c7 46 58 00 00 00 00 	movl   $0x0,0x58(%esi)
4156e9:	8b ce                	mov    %esi,%ecx
4156eb:	e8 70 fe ff ff       	call   0x415560
4156f0:	c7 46 08 3c 10 40 00 	movl   $0x40103c,0x8(%esi)
4156f7:	c7 06 3c 10 40 00    	movl   $0x40103c,(%esi)
4156fd:	5e                   	pop    %esi
4156fe:	c3                   	ret
4156ff:	cc                   	int3
415700:	8b ff                	mov    %edi,%edi
415702:	55                   	push   %ebp
415703:	8b ec                	mov    %esp,%ebp
415705:	83 e4 f8             	and    $0xfffffff8,%esp
415708:	83 ec 0c             	sub    $0xc,%esp
41570b:	53                   	push   %ebx
41570c:	8b d9                	mov    %ecx,%ebx
41570e:	56                   	push   %esi
41570f:	57                   	push   %edi
415710:	8d 43 44             	lea    0x44(%ebx),%eax
415713:	8b c8                	mov    %eax,%ecx
415715:	89 44 24 14          	mov    %eax,0x14(%esp)
415719:	e8 52 f9 ff ff       	call   0x415070
41571e:	8b 73 08             	mov    0x8(%ebx),%esi
415721:	8b 55 0c             	mov    0xc(%ebp),%edx
415724:	52                   	push   %edx
415725:	8b 55 08             	mov    0x8(%ebp),%edx
415728:	8b 76 08             	mov    0x8(%esi),%esi
41572b:	8b ce                	mov    %esi,%ecx
41572d:	52                   	push   %edx
41572e:	ff 15 84 23 45 00    	call   *0x452384
415734:	8d 4b 08             	lea    0x8(%ebx),%ecx
415737:	ff d6                	call   *%esi
415739:	8b f0                	mov    %eax,%esi
41573b:	85 f6                	test   %esi,%esi
41573d:	74 14                	je     0x415753
41573f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
415743:	e8 e8 f9 ff ff       	call   0x415130
415748:	8b c6                	mov    %esi,%eax
41574a:	5f                   	pop    %edi
41574b:	5e                   	pop    %esi
41574c:	5b                   	pop    %ebx
41574d:	8b e5                	mov    %ebp,%esp
41574f:	5d                   	pop    %ebp
415750:	c2 08 00             	ret    $0x8
415753:	8b 75 0c             	mov    0xc(%ebp),%esi
415756:	8d 44 24 0c          	lea    0xc(%esp),%eax
41575a:	50                   	push   %eax
41575b:	56                   	push   %esi
41575c:	ff 75 08             	push   0x8(%ebp)
41575f:	8b cb                	mov    %ebx,%ecx
415761:	e8 6a fd ff ff       	call   0x4154d0
415766:	85 c0                	test   %eax,%eax
415768:	0f 85 7a 01 00 00    	jne    0x4158e8
41576e:	8d 4b 44             	lea    0x44(%ebx),%ecx
415771:	e8 ba f9 ff ff       	call   0x415130
415776:	8d 4b 44             	lea    0x44(%ebx),%ecx
415779:	e8 d2 f7 ff ff       	call   0x414f50
41577e:	8d 44 24 0c          	lea    0xc(%esp),%eax
415782:	8b cb                	mov    %ebx,%ecx
415784:	50                   	push   %eax
415785:	56                   	push   %esi
415786:	ff 75 08             	push   0x8(%ebp)
415789:	e8 42 fd ff ff       	call   0x4154d0
41578e:	85 c0                	test   %eax,%eax
415790:	74 27                	je     0x4157b9
415792:	8d 4b 44             	lea    0x44(%ebx),%ecx
415795:	e8 56 f8 ff ff       	call   0x414ff0
41579a:	8b 03                	mov    (%ebx),%eax
41579c:	8b 55 08             	mov    0x8(%ebp),%edx
41579f:	56                   	push   %esi
4157a0:	52                   	push   %edx
4157a1:	8b 70 08             	mov    0x8(%eax),%esi
4157a4:	8b ce                	mov    %esi,%ecx
4157a6:	ff 15 84 23 45 00    	call   *0x452384
4157ac:	8b cb                	mov    %ebx,%ecx
4157ae:	ff d6                	call   *%esi
4157b0:	5f                   	pop    %edi
4157b1:	5e                   	pop    %esi
4157b2:	5b                   	pop    %ebx
4157b3:	8b e5                	mov    %ebp,%esp
4157b5:	5d                   	pop    %ebp
4157b6:	c2 08 00             	ret    $0x8
4157b9:	8b 43 38             	mov    0x38(%ebx),%eax
4157bc:	8d 34 c5 08 00 00 00 	lea    0x8(,%eax,8),%esi
4157c3:	56                   	push   %esi
4157c4:	ff 15 6c 23 45 00    	call   *0x45236c
4157ca:	56                   	push   %esi
4157cb:	89 44 24 18          	mov    %eax,0x18(%esp)
4157cf:	ff 15 6c 23 45 00    	call   *0x45236c
4157d5:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4157d9:	83 c4 08             	add    $0x8,%esp
4157dc:	89 44 24 14          	mov    %eax,0x14(%esp)
4157e0:	85 c9                	test   %ecx,%ecx
4157e2:	0f 84 ea 00 00 00    	je     0x4158d2
4157e8:	85 c0                	test   %eax,%eax
4157ea:	0f 84 e2 00 00 00    	je     0x4158d2
4157f0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4157f4:	85 c0                	test   %eax,%eax
4157f6:	74 29                	je     0x415821
4157f8:	8d 34 c5 00 00 00 00 	lea    0x0(,%eax,8),%esi
4157ff:	56                   	push   %esi
415800:	ff 73 30             	push   0x30(%ebx)
415803:	51                   	push   %ecx
415804:	e8 52 82 03 00       	call   0x44da5b
415809:	56                   	push   %esi
41580a:	ff 73 40             	push   0x40(%ebx)
41580d:	ff 74 24 28          	push   0x28(%esp)
415811:	e8 45 82 03 00       	call   0x44da5b
415816:	8b 44 24 24          	mov    0x24(%esp),%eax
41581a:	83 c4 18             	add    $0x18,%esp
41581d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
415821:	8b 53 38             	mov    0x38(%ebx),%edx
415824:	33 f6                	xor    %esi,%esi
415826:	3b c2                	cmp    %edx,%eax
415828:	75 05                	jne    0x41582f
41582a:	3b 73 3c             	cmp    0x3c(%ebx),%esi
41582d:	74 45                	je     0x415874
41582f:	2b d0                	sub    %eax,%edx
415831:	8d 34 c5 00 00 00 00 	lea    0x0(,%eax,8),%esi
415838:	8b 43 30             	mov    0x30(%ebx),%eax
41583b:	c1 e2 03             	shl    $0x3,%edx
41583e:	03 c6                	add    %esi,%eax
415840:	52                   	push   %edx
415841:	50                   	push   %eax
415842:	8d 41 08             	lea    0x8(%ecx),%eax
415845:	03 c6                	add    %esi,%eax
415847:	50                   	push   %eax
415848:	e8 0e 82 03 00       	call   0x44da5b
41584d:	8b 43 38             	mov    0x38(%ebx),%eax
415850:	2b 44 24 18          	sub    0x18(%esp),%eax
415854:	c1 e0 03             	shl    $0x3,%eax
415857:	50                   	push   %eax
415858:	8b 43 40             	mov    0x40(%ebx),%eax
41585b:	03 c6                	add    %esi,%eax
41585d:	50                   	push   %eax
41585e:	8b 44 24 28          	mov    0x28(%esp),%eax
415862:	83 c0 08             	add    $0x8,%eax
415865:	03 c6                	add    %esi,%eax
415867:	50                   	push   %eax
415868:	e8 ee 81 03 00       	call   0x44da5b
41586d:	8b 44 24 24          	mov    0x24(%esp),%eax
415871:	83 c4 18             	add    $0x18,%esp
415874:	8b 4c 24 10          	mov    0x10(%esp),%ecx
415878:	8b 74 24 14          	mov    0x14(%esp),%esi
41587c:	8b 55 08             	mov    0x8(%ebp),%edx
41587f:	89 14 c1             	mov    %edx,(%ecx,%eax,8)
415882:	8b 55 0c             	mov    0xc(%ebp),%edx
415885:	89 54 c1 04          	mov    %edx,0x4(%ecx,%eax,8)
415889:	c7 04 c6 01 00 00 00 	movl   $0x1,(%esi,%eax,8)
415890:	c7 44 c6 04 00 00 00 	movl   $0x0,0x4(%esi,%eax,8)
415897:	00
415898:	ff 73 30             	push   0x30(%ebx)
41589b:	ff 15 08 23 45 00    	call   *0x452308
4158a1:	8b 44 24 14          	mov    0x14(%esp),%eax
4158a5:	ff 73 40             	push   0x40(%ebx)
4158a8:	89 43 30             	mov    %eax,0x30(%ebx)
4158ab:	ff 15 08 23 45 00    	call   *0x452308
4158b1:	83 c4 08             	add    $0x8,%esp
4158b4:	89 73 40             	mov    %esi,0x40(%ebx)
4158b7:	83 43 38 01          	addl   $0x1,0x38(%ebx)
4158bb:	8d 4b 44             	lea    0x44(%ebx),%ecx
4158be:	83 53 3c 00          	adcl   $0x0,0x3c(%ebx)
4158c2:	e8 29 f7 ff ff       	call   0x414ff0
4158c7:	33 c0                	xor    %eax,%eax
4158c9:	5f                   	pop    %edi
4158ca:	5e                   	pop    %esi
4158cb:	5b                   	pop    %ebx
4158cc:	8b e5                	mov    %ebp,%esp
4158ce:	5d                   	pop    %ebp
4158cf:	c2 08 00             	ret    $0x8
4158d2:	8d 4b 44             	lea    0x44(%ebx),%ecx
4158d5:	e8 16 f7 ff ff       	call   0x414ff0
4158da:	b8 02 00 00 00       	mov    $0x2,%eax
4158df:	5f                   	pop    %edi
4158e0:	5e                   	pop    %esi
4158e1:	5b                   	pop    %ebx
4158e2:	8b e5                	mov    %ebp,%esp
4158e4:	5d                   	pop    %ebp
4158e5:	c2 08 00             	ret    $0x8
4158e8:	8b 4b 40             	mov    0x40(%ebx),%ecx
4158eb:	8b 44 24 0c          	mov    0xc(%esp),%eax
4158ef:	83 04 c1 01          	addl   $0x1,(%ecx,%eax,8)
4158f3:	83 54 c1 04 00       	adcl   $0x0,0x4(%ecx,%eax,8)
4158f8:	8d 4b 44             	lea    0x44(%ebx),%ecx
4158fb:	e8 30 f8 ff ff       	call   0x415130
415900:	5f                   	pop    %edi
415901:	5e                   	pop    %esi
415902:	33 c0                	xor    %eax,%eax
415904:	5b                   	pop    %ebx
415905:	8b e5                	mov    %ebp,%esp
415907:	5d                   	pop    %ebp
415908:	c2 08 00             	ret    $0x8
41590b:	cc                   	int3
41590c:	cc                   	int3
41590d:	cc                   	int3
41590e:	cc                   	int3
41590f:	cc                   	int3
415910:	8b ff                	mov    %edi,%edi
415912:	55                   	push   %ebp
415913:	8b ec                	mov    %esp,%ebp
415915:	8b 45 08             	mov    0x8(%ebp),%eax
415918:	56                   	push   %esi
415919:	8b f1                	mov    %ecx,%esi
41591b:	a8 01                	test   $0x1,%al
41591d:	74 07                	je     0x415926
41591f:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
415926:	a8 02                	test   $0x2,%al
415928:	74 1c                	je     0x415946
41592a:	c7 46 60 00 00 00 00 	movl   $0x0,0x60(%esi)
415931:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
415938:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
41593f:	c7 46 6c 00 00 00 00 	movl   $0x0,0x6c(%esi)
415946:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
41594a:	74 15                	je     0x415961
41594c:	83 7e 54 00          	cmpl   $0x0,0x54(%esi)
415950:	75 08                	jne    0x41595a
415952:	8d 4e 44             	lea    0x44(%esi),%ecx
415955:	e8 d6 f7 ff ff       	call   0x415130
41595a:	c7 46 58 00 00 00 00 	movl   $0x0,0x58(%esi)
415961:	33 c0                	xor    %eax,%eax
415963:	5e                   	pop    %esi
415964:	5d                   	pop    %ebp
415965:	c2 04 00             	ret    $0x4
415968:	cc                   	int3
415969:	cc                   	int3
41596a:	cc                   	int3
41596b:	cc                   	int3
41596c:	cc                   	int3
41596d:	cc                   	int3
41596e:	cc                   	int3
41596f:	cc                   	int3
415970:	8b ff                	mov    %edi,%edi
415972:	55                   	push   %ebp
415973:	8b ec                	mov    %esp,%ebp
415975:	56                   	push   %esi
415976:	8b f1                	mov    %ecx,%esi
415978:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
41597c:	75 15                	jne    0x415993
41597e:	83 7e 54 00          	cmpl   $0x0,0x54(%esi)
415982:	75 08                	jne    0x41598c
415984:	8d 4e 44             	lea    0x44(%esi),%ecx
415987:	e8 e4 f6 ff ff       	call   0x415070