4316b6:	1b ff                	sbb    %edi,%edi
4316b8:	f7 d7                	not    %edi
4316ba:	23 f8                	and    %eax,%edi
4316bc:	89 7d f8             	mov    %edi,-0x8(%ebp)
4316bf:	85 d2                	test   %edx,%edx
4316c1:	75 04                	jne    0x4316c7
4316c3:	8b c6                	mov    %esi,%eax
4316c5:	eb 07                	jmp    0x4316ce
4316c7:	8b c1                	mov    %ecx,%eax
4316c9:	2b c2                	sub    %edx,%eax
4316cb:	c1 f8 02             	sar    $0x2,%eax
4316ce:	40                   	inc    %eax
4316cf:	3b f8                	cmp    %eax,%edi
4316d1:	73 13                	jae    0x4316e6
4316d3:	85 d2                	test   %edx,%edx
4316d5:	75 04                	jne    0x4316db
4316d7:	8b ce                	mov    %esi,%ecx
4316d9:	eb 05                	jmp    0x4316e0
4316db:	2b ca                	sub    %edx,%ecx
4316dd:	c1 f9 02             	sar    $0x2,%ecx
4316e0:	8d 79 01             	lea    0x1(%ecx),%edi
4316e3:	89 7d f8             	mov    %edi,-0x8(%ebp)
4316e6:	57                   	push   %edi
4316e7:	e8 10 c9 fe ff       	call   0x41dffc
4316ec:	8b 4d 08             	mov    0x8(%ebp),%ecx
4316ef:	8b f8                	mov    %eax,%edi
4316f1:	2b 4b 04             	sub    0x4(%ebx),%ecx
4316f4:	c1 f9 02             	sar    $0x2,%ecx
4316f7:	8b c1                	mov    %ecx,%eax
4316f9:	c1 e0 02             	shl    $0x2,%eax
4316fc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4316ff:	85 c9                	test   %ecx,%ecx
431701:	74 12                	je     0x431715
431703:	50                   	push   %eax
431704:	ff 73 04             	push   0x4(%ebx)
431707:	50                   	push   %eax
431708:	57                   	push   %edi
431709:	ff 15 c4 80 4a 00    	call   *0x4a80c4
43170f:	8b 45 f4             	mov    -0xc(%ebp),%eax
431712:	83 c4 10             	add    $0x10,%esp
431715:	8b 55 fc             	mov    -0x4(%ebp),%edx
431718:	8d 4f 04             	lea    0x4(%edi),%ecx
43171b:	03 c8                	add    %eax,%ecx
43171d:	89 14 38             	mov    %edx,(%eax,%edi,1)
431720:	8b 43 08             	mov    0x8(%ebx),%eax
431723:	2b 45 08             	sub    0x8(%ebp),%eax
431726:	c1 f8 02             	sar    $0x2,%eax
431729:	85 c0                	test   %eax,%eax
43172b:	74 12                	je     0x43173f
43172d:	c1 e0 02             	shl    $0x2,%eax
431730:	50                   	push   %eax
431731:	ff 75 08             	push   0x8(%ebp)
431734:	50                   	push   %eax
431735:	51                   	push   %ecx
431736:	ff 15 c4 80 4a 00    	call   *0x4a80c4
43173c:	83 c4 10             	add    $0x10,%esp
43173f:	8b 43 04             	mov    0x4(%ebx),%eax
431742:	85 c0                	test   %eax,%eax
431744:	74 10                	je     0x431756
431746:	8b 73 08             	mov    0x8(%ebx),%esi
431749:	2b f0                	sub    %eax,%esi
43174b:	50                   	push   %eax
43174c:	c1 fe 02             	sar    $0x2,%esi
43174f:	ff 15 10 74 4a 00    	call   *0x4a7410
431755:	59                   	pop    %ecx
431756:	8b 45 f8             	mov    -0x8(%ebp),%eax
431759:	89 7b 04             	mov    %edi,0x4(%ebx)
43175c:	8d 04 87             	lea    (%edi,%eax,4),%eax
43175f:	89 43 0c             	mov    %eax,0xc(%ebx)
431762:	8d 46 01             	lea    0x1(%esi),%eax
431765:	8d 04 87             	lea    (%edi,%eax,4),%eax
431768:	89 43 08             	mov    %eax,0x8(%ebx)
43176b:	e9 a2 00 00 00       	jmp    0x431812
431770:	8b 7b 08             	mov    0x8(%ebx),%edi
431773:	33 c9                	xor    %ecx,%ecx
431775:	8b 55 08             	mov    0x8(%ebp),%edx
431778:	8b c7                	mov    %edi,%eax
43177a:	2b c2                	sub    %edx,%eax
43177c:	41                   	inc    %ecx
43177d:	c1 f8 02             	sar    $0x2,%eax
431780:	3b c1                	cmp    %ecx,%eax
431782:	73 3f                	jae    0x4317c3
431784:	8b c7                	mov    %edi,%eax
431786:	2b c2                	sub    %edx,%eax
431788:	c1 f8 02             	sar    $0x2,%eax
43178b:	2b c8                	sub    %eax,%ecx
43178d:	74 0b                	je     0x43179a
43178f:	8b 45 fc             	mov    -0x4(%ebp),%eax
431792:	f3 ab                	rep stos %eax,%es:(%edi)
431794:	8b 7b 08             	mov    0x8(%ebx),%edi
431797:	8b 55 08             	mov    0x8(%ebp),%edx
43179a:	8d 47 04             	lea    0x4(%edi),%eax
43179d:	89 43 08             	mov    %eax,0x8(%ebx)
4317a0:	8b c7                	mov    %edi,%eax
4317a2:	2b c2                	sub    %edx,%eax
4317a4:	83 c0 03             	add    $0x3,%eax
4317a7:	c1 e8 02             	shr    $0x2,%eax
4317aa:	3b fa                	cmp    %edx,%edi
4317ac:	1b c9                	sbb    %ecx,%ecx
4317ae:	f7 d1                	not    %ecx
4317b0:	23 c8                	and    %eax,%ecx
4317b2:	74 5e                	je     0x431812
4317b4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4317b7:	46                   	inc    %esi
4317b8:	89 02                	mov    %eax,(%edx)
4317ba:	8d 52 04             	lea    0x4(%edx),%edx
4317bd:	3b f1                	cmp    %ecx,%esi
4317bf:	75 f6                	jne    0x4317b7
4317c1:	eb 4f                	jmp    0x431812
4317c3:	6a 04                	push   $0x4
4317c5:	8d 47 fc             	lea    -0x4(%edi),%eax
4317c8:	50                   	push   %eax
4317c9:	6a 04                	push   $0x4
4317cb:	57                   	push   %edi
4317cc:	8d 77 04             	lea    0x4(%edi),%esi
4317cf:	ff 15 c4 80 4a 00    	call   *0x4a80c4
4317d5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4317d8:	8d 47 fc             	lea    -0x4(%edi),%eax
4317db:	2b c1                	sub    %ecx,%eax
4317dd:	89 73 08             	mov    %esi,0x8(%ebx)
4317e0:	c1 f8 02             	sar    $0x2,%eax
4317e3:	83 c4 10             	add    $0x10,%esp
4317e6:	85 c0                	test   %eax,%eax
4317e8:	7e 15                	jle    0x4317ff
4317ea:	c1 e0 02             	shl    $0x2,%eax
4317ed:	50                   	push   %eax
4317ee:	51                   	push   %ecx
4317ef:	50                   	push   %eax
4317f0:	2b f8                	sub    %eax,%edi
4317f2:	57                   	push   %edi
4317f3:	ff 15 c4 80 4a 00    	call   *0x4a80c4
4317f9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4317fc:	83 c4 10             	add    $0x10,%esp
4317ff:	8d 41 04             	lea    0x4(%ecx),%eax
431802:	3b c8                	cmp    %eax,%ecx
431804:	74 0c                	je     0x431812
431806:	8b 55 fc             	mov    -0x4(%ebp),%edx
431809:	89 11                	mov    %edx,(%ecx)
43180b:	83 c1 04             	add    $0x4,%ecx
43180e:	3b c8                	cmp    %eax,%ecx
431810:	75 f7                	jne    0x431809
431812:	5f                   	pop    %edi
431813:	5e                   	pop    %esi
431814:	5b                   	pop    %ebx
431815:	c9                   	leave
431816:	c2 0c 00             	ret    $0xc
431819:	e8 f1 fd ff ff       	call   0x43160f
43181e:	cc                   	int3
43181f:	8b ff                	mov    %edi,%edi
431821:	55                   	push   %ebp
431822:	8b ec                	mov    %esp,%ebp
431824:	83 ec 24             	sub    $0x24,%esp
431827:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
43182c:	33 c5                	xor    %ebp,%eax
43182e:	89 45 fc             	mov    %eax,-0x4(%ebp)
431831:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
431835:	8d 45 08             	lea    0x8(%ebp),%eax
431838:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
43183c:	89 45 ec             	mov    %eax,-0x14(%ebp)
43183f:	8d 45 dc             	lea    -0x24(%ebp),%eax
431842:	50                   	push   %eax
431843:	6a 02                	push   $0x2
431845:	51                   	push   %ecx
431846:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
43184d:	e8 51 3c ff ff       	call   0x4254a3
431852:	8b 4d fc             	mov    -0x4(%ebp),%ecx
431855:	33 cd                	xor    %ebp,%ecx
431857:	e8 a4 e6 05 00       	call   0x48ff00
43185c:	c9                   	leave
43185d:	c2 04 00             	ret    $0x4
431860:	8b ff                	mov    %edi,%edi
431862:	55                   	push   %ebp
431863:	8b ec                	mov    %esp,%ebp
431865:	83 ec 0c             	sub    $0xc,%esp
431868:	8d 45 f4             	lea    -0xc(%ebp),%eax
43186b:	50                   	push   %eax
43186c:	ff 75 10             	push   0x10(%ebp)
43186f:	ff 75 0c             	push   0xc(%ebp)
431872:	ff 71 04             	push   0x4(%ecx)
431875:	ff 15 bc 70 4a 00    	call   *0x4a70bc
43187b:	8b 45 08             	mov    0x8(%ebp),%eax
43187e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
431881:	89 08                	mov    %ecx,(%eax)
431883:	8b 4d f8             	mov    -0x8(%ebp),%ecx
431886:	89 48 04             	mov    %ecx,0x4(%eax)
431889:	c9                   	leave
43188a:	c2 0c 00             	ret    $0xc
43188d:	8b ff                	mov    %edi,%edi
43188f:	55                   	push   %ebp
431890:	8b ec                	mov    %esp,%ebp
431892:	83 ec 10             	sub    $0x10,%esp
431895:	83 3d 74 65 4a 00 00 	cmpl   $0x0,0x4a6574
43189c:	57                   	push   %edi
43189d:	8b f9                	mov    %ecx,%edi
43189f:	74 5e                	je     0x4318ff
4318a1:	53                   	push   %ebx
4318a2:	8b 5f 14             	mov    0x14(%edi),%ebx
4318a5:	85 db                	test   %ebx,%ebx
4318a7:	74 55                	je     0x4318fe
4318a9:	8b 03                	mov    (%ebx),%eax
4318ab:	56                   	push   %esi
4318ac:	8b 70 44             	mov    0x44(%eax),%esi
4318af:	8b ce                	mov    %esi,%ecx
4318b1:	ff 15 2c 81 4a 00    	call   *0x4a812c
4318b7:	8b cb                	mov    %ebx,%ecx
4318b9:	ff d6                	call   *%esi
4318bb:	5e                   	pop    %esi
4318bc:	85 c0                	test   %eax,%eax
4318be:	74 3e                	je     0x4318fe
4318c0:	83 7f 78 00          	cmpl   $0x0,0x78(%edi)
4318c4:	75 38                	jne    0x4318fe
4318c6:	a1 74 65 4a 00       	mov    0x4a6574,%eax
4318cb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4318cf:	c7 45 f0 10 00 00 00 	movl   $0x10,-0x10(%ebp)
4318d6:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
4318dd:	8b 40 20             	mov    0x20(%eax),%eax
4318e0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4318e3:	8d 45 f0             	lea    -0x10(%ebp),%eax
4318e6:	50                   	push   %eax
4318e7:	ff 15 64 7d 4a 00    	call   *0x4a7d64
4318ed:	8d 47 7c             	lea    0x7c(%edi),%eax
4318f0:	c7 47 78 01 00 00 00 	movl   $0x1,0x78(%edi)
4318f7:	50                   	push   %eax
4318f8:	ff 15 00 7d 4a 00    	call   *0x4a7d00
4318fe:	5b                   	pop    %ebx
4318ff:	5f                   	pop    %edi
431900:	c9                   	leave
431901:	c3                   	ret
431902:	8b ff                	mov    %edi,%edi
431904:	55                   	push   %ebp
431905:	8b ec                	mov    %esp,%ebp
431907:	83 e4 f8             	and    $0xfffffff8,%esp
43190a:	83 ec 1c             	sub    $0x1c,%esp
43190d:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
431912:	33 c4                	xor    %esp,%eax
431914:	89 44 24 18          	mov    %eax,0x18(%esp)
431918:	53                   	push   %ebx
431919:	8b d9                	mov    %ecx,%ebx
43191b:	56                   	push   %esi
43191c:	57                   	push   %edi
43191d:	83 7b 78 00          	cmpl   $0x0,0x78(%ebx)
431921:	74 1c                	je     0x43193f
431923:	8b 7b 14             	mov    0x14(%ebx),%edi
431926:	85 ff                	test   %edi,%edi
431928:	74 15                	je     0x43193f
43192a:	8b 07                	mov    (%edi),%eax
43192c:	8b 70 44             	mov    0x44(%eax),%esi
43192f:	8b ce                	mov    %esi,%ecx
431931:	ff 15 2c 81 4a 00    	call   *0x4a812c
431937:	8b cf                	mov    %edi,%ecx
431939:	ff d6                	call   *%esi
43193b:	85 c0                	test   %eax,%eax
43193d:	75 0a                	jne    0x431949
43193f:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
431943:	0f 84 9a 00 00 00    	je     0x4319e3
431949:	83 3d 74 65 4a 00 00 	cmpl   $0x0,0x4a6574
431950:	0f 84 8d 00 00 00    	je     0x4319e3
431956:	83 3d 84 65 4a 00 00 	cmpl   $0x0,0x4a6584
43195d:	0f 85 80 00 00 00    	jne    0x4319e3
431963:	8b cb                	mov    %ebx,%ecx
431965:	e8 8d 00 00 00       	call   0x4319f7
43196a:	8b f0                	mov    %eax,%esi
43196c:	8d 44 24 0c          	lea    0xc(%esp),%eax
431970:	50                   	push   %eax
431971:	ff 15 e8 7c 4a 00    	call   *0x4a7ce8
431977:	8b 0d 74 65 4a 00    	mov    0x4a6574,%ecx
43197d:	8d 44 24 0c          	lea    0xc(%esp),%eax
431981:	50                   	push   %eax
431982:	ff 71 20             	push   0x20(%ecx)
431985:	ff 15 fc 7d 4a 00    	call   *0x4a7dfc
43198b:	8b 0d 74 65 4a 00    	mov    0x4a6574,%ecx
431991:	8d 44 24 0c          	lea    0xc(%esp),%eax
431995:	50                   	push   %eax
431996:	e8 f5 27 00 00       	call   0x434190
43199b:	8b 54 24 0c          	mov    0xc(%esp),%edx
43199f:	8b c2                	mov    %edx,%eax
4319a1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4319a5:	2b c6                	sub    %esi,%eax
4319a7:	89 44 24 14          	mov    %eax,0x14(%esp)
4319ab:	8b c1                	mov    %ecx,%eax
4319ad:	2b c6                	sub    %esi,%eax
4319af:	89 44 24 18          	mov    %eax,0x18(%esp)
4319b3:	8d 04 32             	lea    (%edx,%esi,1),%eax
4319b6:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4319ba:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4319bd:	89 44 24 20          	mov    %eax,0x20(%esp)
4319c1:	8d 43 7c             	lea    0x7c(%ebx),%eax
4319c4:	50                   	push   %eax
4319c5:	8d 44 24 18          	lea    0x18(%esp),%eax
4319c9:	50                   	push   %eax
4319ca:	50                   	push   %eax
4319cb:	ff 15 ec 7c 4a 00    	call   *0x4a7cec
4319d1:	8b 0d 74 65 4a 00    	mov    0x4a6574,%ecx
4319d7:	8d 54 24 14          	lea    0x14(%esp),%edx
4319db:	8b 49 48             	mov    0x48(%ecx),%ecx
4319de:	e8 f9 b3 ff ff       	call   0x42cddc
4319e3:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4319e7:	5f                   	pop    %edi
4319e8:	5e                   	pop    %esi
4319e9:	5b                   	pop    %ebx
4319ea:	33 cc                	xor    %esp,%ecx
4319ec:	e8 0f e5 05 00       	call   0x48ff00
4319f1:	8b e5                	mov    %ebp,%esp
4319f3:	5d                   	pop    %ebp
4319f4:	c2 04 00             	ret    $0x4
4319f7:	8b ff                	mov    %edi,%edi
4319f9:	57                   	push   %edi
4319fa:	8b 79 14             	mov    0x14(%ecx),%edi
4319fd:	85 ff                	test   %edi,%edi
4319ff:	74 15                	je     0x431a16
431a01:	8b 07                	mov    (%edi),%eax
431a03:	56                   	push   %esi
431a04:	8b 70 48             	mov    0x48(%eax),%esi
431a07:	8b ce                	mov    %esi,%ecx
431a09:	ff 15 2c 81 4a 00    	call   *0x4a812c
431a0f:	8b cf                	mov    %edi,%ecx
431a11:	ff d6                	call   *%esi
431a13:	5e                   	pop    %esi
431a14:	5f                   	pop    %edi
431a15:	c3                   	ret
431a16:	33 c0                	xor    %eax,%eax
431a18:	5f                   	pop    %edi
431a19:	c3                   	ret
431a1a:	cc                   	int3
431a1b:	cc                   	int3
431a1c:	cc                   	int3
431a1d:	cc                   	int3
431a1e:	cc                   	int3
431a1f:	cc                   	int3
431a20:	a1 10 77 4a 00       	mov    0x4a7710,%eax
431a25:	c3                   	ret
431a26:	cc                   	int3
431a27:	cc                   	int3
431a28:	cc                   	int3
431a29:	cc                   	int3
431a2a:	cc                   	int3
431a2b:	cc                   	int3
431a2c:	cc                   	int3
431a2d:	cc                   	int3
431a2e:	cc                   	int3
431a2f:	cc                   	int3
431a30:	b8 24 21 40 00       	mov    $0x402124,%eax
431a35:	c3                   	ret
431a36:	8b ff                	mov    %edi,%edi
431a38:	56                   	push   %esi
431a39:	8b 35 08 01 4a 00    	mov    0x4a0108,%esi
431a3f:	81 7e 40 5b 02 00 00 	cmpl   $0x25b,0x40(%esi)
431a46:	75 31                	jne    0x431a79
431a48:	85 f6                	test   %esi,%esi
431a4a:	74 2d                	je     0x431a79