4176de:	ff 75 fc             	push   -0x4(%ebp)
4176e1:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4176e4:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4176e7:	89 55 c0             	mov    %edx,-0x40(%ebp)
4176ea:	e8 a1 66 01 00       	call   0x42dd90
4176ef:	8b f8                	mov    %eax,%edi
4176f1:	33 f6                	xor    %esi,%esi
4176f3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4176f6:	89 75 fc             	mov    %esi,-0x4(%ebp)
4176f9:	85 c0                	test   %eax,%eax
4176fb:	75 05                	jne    0x417702
4176fd:	83 fb ff             	cmp    $0xffffffff,%ebx
417700:	76 2a                	jbe    0x41772c
417702:	6a 00                	push   $0x0
417704:	ff 75 d0             	push   -0x30(%ebp)
417707:	83 c3 01             	add    $0x1,%ebx
41770a:	83 d0 ff             	adc    $0xffffffff,%eax
41770d:	50                   	push   %eax
41770e:	53                   	push   %ebx
41770f:	e8 ac 28 ff ff       	call   0x409fc0
417714:	03 f8                	add    %eax,%edi
417716:	13 f2                	adc    %edx,%esi
417718:	83 cb ff             	or     $0xffffffff,%ebx
41771b:	33 c0                	xor    %eax,%eax
41771d:	89 75 fc             	mov    %esi,-0x4(%ebp)
417720:	89 5d cc             	mov    %ebx,-0x34(%ebp)
417723:	89 5d bc             	mov    %ebx,-0x44(%ebp)
417726:	89 45 f0             	mov    %eax,-0x10(%ebp)
417729:	89 45 c0             	mov    %eax,-0x40(%ebp)
41772c:	85 f6                	test   %esi,%esi
41772e:	77 50                	ja     0x417780
417730:	72 05                	jb     0x417737
417732:	83 ff ff             	cmp    $0xffffffff,%edi
417735:	77 49                	ja     0x417780
417737:	50                   	push   %eax
417738:	53                   	push   %ebx
417739:	33 c9                	xor    %ecx,%ecx
41773b:	8b f7                	mov    %edi,%esi
41773d:	0b 4d f8             	or     -0x8(%ebp),%ecx
417740:	6a 00                	push   $0x0
417742:	ff 75 e0             	push   -0x20(%ebp)
417745:	89 4d dc             	mov    %ecx,-0x24(%ebp)
417748:	e8 73 28 ff ff       	call   0x409fc0
41774d:	3b d6                	cmp    %esi,%edx
41774f:	72 29                	jb     0x41777a
417751:	77 05                	ja     0x417758
417753:	3b 45 dc             	cmp    -0x24(%ebp),%eax
417756:	76 22                	jbe    0x41777a
417758:	8b 45 f0             	mov    -0x10(%ebp),%eax
41775b:	83 c3 ff             	add    $0xffffffff,%ebx
41775e:	89 5d bc             	mov    %ebx,-0x44(%ebp)
417761:	83 d0 ff             	adc    $0xffffffff,%eax
417764:	03 7d d0             	add    -0x30(%ebp),%edi
417767:	89 45 f0             	mov    %eax,-0x10(%ebp)
41776a:	83 55 fc 00          	adcl   $0x0,-0x4(%ebp)
41776e:	89 45 c0             	mov    %eax,-0x40(%ebp)
417771:	75 0a                	jne    0x41777d
417773:	83 ff ff             	cmp    $0xffffffff,%edi
417776:	76 bf                	jbe    0x417737
417778:	eb 03                	jmp    0x41777d
41777a:	8b 45 f0             	mov    -0x10(%ebp),%eax
41777d:	89 5d cc             	mov    %ebx,-0x34(%ebp)
417780:	85 c0                	test   %eax,%eax
417782:	75 08                	jne    0x41778c
417784:	85 db                	test   %ebx,%ebx
417786:	0f 84 af 00 00 00    	je     0x41783b
41778c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41778f:	33 ff                	xor    %edi,%edi
417791:	8b 45 0c             	mov    0xc(%ebp),%eax
417794:	33 f6                	xor    %esi,%esi
417796:	85 c9                	test   %ecx,%ecx
417798:	74 55                	je     0x4177ef
41779a:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
41779d:	83 c0 04             	add    $0x4,%eax
4177a0:	89 45 f8             	mov    %eax,-0x8(%ebp)
4177a3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4177a6:	8b 00                	mov    (%eax),%eax
4177a8:	89 45 dc             	mov    %eax,-0x24(%ebp)
4177ab:	8b 45 c0             	mov    -0x40(%ebp),%eax
4177ae:	f7 65 dc             	mull   -0x24(%ebp)
4177b1:	8b c8                	mov    %eax,%ecx
4177b3:	8b 45 bc             	mov    -0x44(%ebp),%eax
4177b6:	f7 65 dc             	mull   -0x24(%ebp)
4177b9:	03 d1                	add    %ecx,%edx
4177bb:	03 f8                	add    %eax,%edi
4177bd:	8b 03                	mov    (%ebx),%eax
4177bf:	8b cf                	mov    %edi,%ecx
4177c1:	13 f2                	adc    %edx,%esi
4177c3:	8b fe                	mov    %esi,%edi
4177c5:	33 f6                	xor    %esi,%esi
4177c7:	3b c1                	cmp    %ecx,%eax
4177c9:	73 05                	jae    0x4177d0
4177cb:	83 c7 01             	add    $0x1,%edi
4177ce:	13 f6                	adc    %esi,%esi
4177d0:	2b c1                	sub    %ecx,%eax
4177d2:	89 03                	mov    %eax,(%ebx)
4177d4:	83 c3 04             	add    $0x4,%ebx
4177d7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4177da:	83 c0 04             	add    $0x4,%eax
4177dd:	83 6d fc 01          	subl   $0x1,-0x4(%ebp)
4177e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4177e4:	75 c0                	jne    0x4177a6
4177e6:	8b 45 0c             	mov    0xc(%ebp),%eax
4177e9:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4177ec:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4177ef:	83 c0 04             	add    $0x4,%eax
4177f2:	89 45 dc             	mov    %eax,-0x24(%ebp)
4177f5:	33 c0                	xor    %eax,%eax
4177f7:	3b c6                	cmp    %esi,%eax
4177f9:	77 39                	ja     0x417834
4177fb:	72 05                	jb     0x417802
4177fd:	39 7d b8             	cmp    %edi,-0x48(%ebp)
417800:	73 32                	jae    0x417834
417802:	85 c9                	test   %ecx,%ecx
417804:	74 2b                	je     0x417831
417806:	8b 55 c4             	mov    -0x3c(%ebp),%edx
417809:	33 db                	xor    %ebx,%ebx
41780b:	8b 75 dc             	mov    -0x24(%ebp),%esi
41780e:	8b f9                	mov    %ecx,%edi
417810:	8b 0a                	mov    (%edx),%ecx
417812:	8d 76 04             	lea    0x4(%esi),%esi
417815:	33 c0                	xor    %eax,%eax
417817:	8d 52 04             	lea    0x4(%edx),%edx
41781a:	03 4e fc             	add    -0x4(%esi),%ecx
41781d:	13 c0                	adc    %eax,%eax
41781f:	03 cb                	add    %ebx,%ecx
417821:	89 4a fc             	mov    %ecx,-0x4(%edx)
417824:	83 d0 00             	adc    $0x0,%eax
417827:	8b d8                	mov    %eax,%ebx
417829:	83 ef 01             	sub    $0x1,%edi
41782c:	75 e2                	jne    0x417810
41782e:	8b 5d cc             	mov    -0x34(%ebp),%ebx
417831:	83 c3 ff             	add    $0xffffffff,%ebx
417834:	8b 45 c8             	mov    -0x38(%ebp),%eax
417837:	48                   	dec    %eax
417838:	89 45 f4             	mov    %eax,-0xc(%ebp)
41783b:	8b 75 b4             	mov    -0x4c(%ebp),%esi
41783e:	33 c0                	xor    %eax,%eax
417840:	8b 4d e8             	mov    -0x18(%ebp),%ecx
417843:	03 c3                	add    %ebx,%eax
417845:	8b 5d b0             	mov    -0x50(%ebp),%ebx
417848:	8b f8                	mov    %eax,%edi
41784a:	8b 45 c8             	mov    -0x38(%ebp),%eax
41784d:	83 d6 00             	adc    $0x0,%esi
417850:	83 6d c4 04          	subl   $0x4,-0x3c(%ebp)
417854:	4b                   	dec    %ebx
417855:	48                   	dec    %eax
417856:	89 7d b4             	mov    %edi,-0x4c(%ebp)
417859:	83 e9 04             	sub    $0x4,%ecx
41785c:	89 5d b0             	mov    %ebx,-0x50(%ebp)
41785f:	89 45 c8             	mov    %eax,-0x38(%ebp)
417862:	89 4d e8             	mov    %ecx,-0x18(%ebp)
417865:	85 db                	test   %ebx,%ebx
417867:	0f 89 f3 fd ff ff    	jns    0x417660
41786d:	eb 02                	jmp    0x417871
41786f:	33 ff                	xor    %edi,%edi
417871:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417874:	8b 5d 08             	mov    0x8(%ebp),%ebx
417877:	41                   	inc    %ecx
417878:	8b c1                	mov    %ecx,%eax
41787a:	3b 03                	cmp    (%ebx),%eax
41787c:	73 14                	jae    0x417892
41787e:	8d 53 04             	lea    0x4(%ebx),%edx
417881:	8d 14 82             	lea    (%edx,%eax,4),%edx
417884:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
41788a:	8d 52 04             	lea    0x4(%edx),%edx
41788d:	40                   	inc    %eax
41788e:	3b 03                	cmp    (%ebx),%eax
417890:	72 f2                	jb     0x417884
417892:	89 0b                	mov    %ecx,(%ebx)
417894:	85 c9                	test   %ecx,%ecx
417896:	74 0d                	je     0x4178a5
417898:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
41789c:	75 07                	jne    0x4178a5
41789e:	83 c1 ff             	add    $0xffffffff,%ecx
4178a1:	89 0b                	mov    %ecx,(%ebx)
4178a3:	75 f3                	jne    0x417898
4178a5:	8b c7                	mov    %edi,%eax
4178a7:	8b d6                	mov    %esi,%edx
4178a9:	5f                   	pop    %edi
4178aa:	5e                   	pop    %esi
4178ab:	5b                   	pop    %ebx
4178ac:	8b e5                	mov    %ebp,%esp
4178ae:	5d                   	pop    %ebp
4178af:	c3                   	ret
4178b0:	5f                   	pop    %edi
4178b1:	5e                   	pop    %esi
4178b2:	33 c0                	xor    %eax,%eax
4178b4:	33 d2                	xor    %edx,%edx
4178b6:	5b                   	pop    %ebx
4178b7:	8b e5                	mov    %ebp,%esp
4178b9:	5d                   	pop    %ebp
4178ba:	c3                   	ret
4178bb:	8b 51 10             	mov    0x10(%ecx),%edx
4178be:	8b 41 08             	mov    0x8(%ecx),%eax
4178c1:	83 c2 01             	add    $0x1,%edx
4178c4:	56                   	push   %esi
4178c5:	8b 71 14             	mov    0x14(%ecx),%esi
4178c8:	83 d6 00             	adc    $0x0,%esi
4178cb:	89 51 10             	mov    %edx,0x10(%ecx)
4178ce:	0b 41 0c             	or     0xc(%ecx),%eax
4178d1:	89 71 14             	mov    %esi,0x14(%ecx)
4178d4:	74 0c                	je     0x4178e2
4178d6:	3b 71 0c             	cmp    0xc(%ecx),%esi
4178d9:	77 1b                	ja     0x4178f6
4178db:	72 05                	jb     0x4178e2
4178dd:	3b 51 08             	cmp    0x8(%ecx),%edx
4178e0:	77 14                	ja     0x4178f6
4178e2:	8b 31                	mov    (%ecx),%esi
4178e4:	ff 36                	push   (%esi)
4178e6:	e8 1f 87 00 00       	call   0x42000a
4178eb:	59                   	pop    %ecx
4178ec:	83 f8 ff             	cmp    $0xffffffff,%eax
4178ef:	74 05                	je     0x4178f6
4178f1:	ff 46 04             	incl   0x4(%esi)
4178f4:	5e                   	pop    %esi
4178f5:	c3                   	ret
4178f6:	32 c0                	xor    %al,%al
4178f8:	5e                   	pop    %esi
4178f9:	c3                   	ret
4178fa:	8b ff                	mov    %edi,%edi
4178fc:	55                   	push   %ebp
4178fd:	8b ec                	mov    %esp,%ebp
4178ff:	8b 55 0c             	mov    0xc(%ebp),%edx
417902:	56                   	push   %esi
417903:	8b f1                	mov    %ecx,%esi
417905:	83 fa ff             	cmp    $0xffffffff,%edx
417908:	74 39                	je     0x417943
41790a:	8b 45 08             	mov    0x8(%ebp),%eax
41790d:	83 e8 00             	sub    $0x0,%eax
417910:	74 2d                	je     0x41793f
417912:	83 e8 01             	sub    $0x1,%eax
417915:	74 19                	je     0x417930
417917:	83 e8 07             	sub    $0x7,%eax
41791a:	75 27                	jne    0x417943
41791c:	0f b6 d2             	movzbl %dl,%edx
41791f:	40                   	inc    %eax
417920:	8b ca                	mov    %edx,%ecx
417922:	c1 ea 03             	shr    $0x3,%edx
417925:	83 e1 07             	and    $0x7,%ecx
417928:	d3 e0                	shl    %cl,%eax
41792a:	84 44 32 3c          	test   %al,0x3c(%edx,%esi,1)
41792e:	eb 0d                	jmp    0x41793d
417930:	83 fa 09             	cmp    $0x9,%edx
417933:	7c 05                	jl     0x41793a
417935:	83 fa 0d             	cmp    $0xd,%edx
417938:	7e 09                	jle    0x417943
41793a:	83 fa 20             	cmp    $0x20,%edx
41793d:	74 04                	je     0x417943
41793f:	b0 01                	mov    $0x1,%al
417941:	eb 02                	jmp    0x417945
417943:	32 c0                	xor    %al,%al
417945:	5e                   	pop    %esi
417946:	5d                   	pop    %ebp
417947:	c2 08 00             	ret    $0x8
41794a:	8b 41 28             	mov    0x28(%ecx),%eax
41794d:	83 f8 09             	cmp    $0x9,%eax
417950:	77 2c                	ja     0x41797e
417952:	0f b6 80 8e 79 41 00 	movzbl 0x41798e(%eax),%eax
417959:	ff 24 85 82 79 41 00 	jmp    *0x417982(,%eax,4)
417960:	33 c0                	xor    %eax,%eax
417962:	38 41 24             	cmp    %al,0x24(%ecx)
417965:	0f 95 c0             	setne  %al
417968:	40                   	inc    %eax
417969:	c3                   	ret
41796a:	ff 71 20             	push   0x20(%ecx)
41796d:	e8 86 08 00 00       	call   0x4181f8
417972:	59                   	pop    %ecx
417973:	c3                   	ret
417974:	ff 71 20             	push   0x20(%ecx)
417977:	e8 59 08 00 00       	call   0x4181d5
41797c:	59                   	pop    %ecx
41797d:	c3                   	ret
41797e:	33 c0                	xor    %eax,%eax
417980:	c3                   	ret
417981:	90                   	nop
417982:	60                   	pusha
417983:	79 41                	jns    0x4179c6
417985:	00 6a 79             	add    %ch,0x79(%edx)
417988:	41                   	inc    %ecx
417989:	00 74 79 41          	add    %dh,0x41(%ecx,%edi,2)
41798d:	00 00                	add    %al,(%eax)
41798f:	00 01                	add    %al,(%ecx)
417991:	01 01                	add    %eax,(%ecx)
417993:	01 01                	add    %eax,(%ecx)
417995:	02 00                	add    (%eax),%al
417997:	01 80 79 04 00 74    	add    %eax,0x74000479(%eax)
41799d:	09 83 c8 ff ba ff    	or     %eax,-0x450038(%ebx)
4179a3:	ff 1f                	lcall  *(%edi)
4179a5:	00 c3                	add    %al,%bl
4179a7:	b8 ff ff ff 00       	mov    $0xffffff,%eax
4179ac:	33 d2                	xor    %edx,%edx
4179ae:	c3                   	ret
4179af:	8b ff                	mov    %edi,%edi
4179b1:	53                   	push   %ebx
4179b2:	56                   	push   %esi
4179b3:	8b f1                	mov    %ecx,%esi
4179b5:	57                   	push   %edi
4179b6:	8d 5e 08             	lea    0x8(%esi),%ebx
4179b9:	8b cb                	mov    %ebx,%ecx
4179bb:	e8 2d 09 00 00       	call   0x4182ed
4179c0:	84 c0                	test   %al,%al
4179c2:	74 0e                	je     0x4179d2
4179c4:	8d 7e 10             	lea    0x10(%esi),%edi
4179c7:	8b cf                	mov    %edi,%ecx
4179c9:	e8 e2 08 00 00       	call   0x4182b0
4179ce:	84 c0                	test   %al,%al
4179d0:	75 12                	jne    0x4179e4
4179d2:	83 c8 ff             	or     $0xffffffff,%eax
4179d5:	5f                   	pop    %edi
4179d6:	5e                   	pop    %esi
4179d7:	5b                   	pop    %ebx
4179d8:	c3                   	ret
4179d9:	8b ce                	mov    %esi,%ecx
4179db:	e8 04 02 00 00       	call   0x417be4
4179e0:	84 c0                	test   %al,%al
4179e2:	74 0b                	je     0x4179ef
4179e4:	8b cf                	mov    %edi,%ecx
4179e6:	e8 f5 d4 ff ff       	call   0x414ee0
4179eb:	84 c0                	test   %al,%al
4179ed:	75 ea                	jne    0x4179d9
4179ef:	8b 7e 68             	mov    0x68(%esi),%edi
4179f2:	85 ff                	test   %edi,%edi
4179f4:	75 23                	jne    0x417a19
4179f6:	83 7e 20 01          	cmpl   $0x1,0x20(%esi)
4179fa:	74 1d                	je     0x417a19
4179fc:	ff 33                	push   (%ebx)
4179fe:	e8 07 86 00 00       	call   0x42000a
417a03:	59                   	pop    %ecx
417a04:	83 f8 ff             	cmp    $0xffffffff,%eax
417a07:	74 05                	je     0x417a0e
417a09:	ff 43 04             	incl   0x4(%ebx)
417a0c:	eb 03                	jmp    0x417a11
417a0e:	83 cf ff             	or     $0xffffffff,%edi
417a11:	50                   	push   %eax
417a12:	8b cb                	mov    %ebx,%ecx
417a14:	e8 79 08 00 00       	call   0x418292
417a19:	8b 06                	mov    (%esi),%eax
417a1b:	83 e0 01             	and    $0x1,%eax
417a1e:	83 c8 00             	or     $0x0,%eax
417a21:	74 13                	je     0x417a36
417a23:	8b 76 1c             	mov    0x1c(%esi),%esi
417a26:	85 f6                	test   %esi,%esi
417a28:	74 0c                	je     0x417a36
417a2a:	e8 42 4c 00 00       	call   0x41c671
417a2f:	89 30                	mov    %esi,(%eax)
417a31:	e8 b8 59 ff ff       	call   0x40d3ee
417a36:	8b c7                	mov    %edi,%eax
417a38:	eb 9b                	jmp    0x4179d5
417a3a:	80 79 26 00          	cmpb   $0x0,0x26(%ecx)