41b8f6:	33 c0                	xor    %eax,%eax
41b8f8:	5e                   	pop    %esi
41b8f9:	5d                   	pop    %ebp
41b8fa:	c2 08 00             	ret    $0x8
41b8fd:	55                   	push   %ebp
41b8fe:	8b ec                	mov    %esp,%ebp
41b900:	83 e4 f8             	and    $0xfffffff8,%esp
41b903:	83 ec 64             	sub    $0x64,%esp
41b906:	8d 44 24 14          	lea    0x14(%esp),%eax
41b90a:	53                   	push   %ebx
41b90b:	56                   	push   %esi
41b90c:	8b 75 08             	mov    0x8(%ebp),%esi
41b90f:	57                   	push   %edi
41b910:	50                   	push   %eax
41b911:	8d 44 24 20          	lea    0x20(%esp),%eax
41b915:	50                   	push   %eax
41b916:	56                   	push   %esi
41b917:	8b d9                	mov    %ecx,%ebx
41b919:	e8 e0 1a ff ff       	call   0x40d3fe
41b91e:	84 c0                	test   %al,%al
41b920:	0f 84 23 19 06 00    	je     0x47d249
41b926:	8b 4b 60             	mov    0x60(%ebx),%ecx
41b929:	8b 44 24 1c          	mov    0x1c(%esp),%eax
41b92d:	8b 53 74             	mov    0x74(%ebx),%edx
41b930:	8b 04 81             	mov    (%ecx,%eax,4),%eax
41b933:	83 4c 24 18 ff       	orl    $0xffffffff,0x18(%esp)
41b938:	8b 08                	mov    (%eax),%ecx
41b93a:	8b 44 24 20          	mov    0x20(%esp),%eax
41b93e:	89 4c 24 14          	mov    %ecx,0x14(%esp)
41b942:	8b 04 82             	mov    (%edx,%eax,4),%eax
41b945:	8b 38                	mov    (%eax),%edi
41b947:	89 7c 24 24          	mov    %edi,0x24(%esp)
41b94b:	8a 87 90 00 00 00    	mov    0x90(%edi),%al
41b951:	88 44 24 13          	mov    %al,0x13(%esp)
41b955:	0f b6 c0             	movzbl %al,%eax
41b958:	83 f8 11             	cmp    $0x11,%eax
41b95b:	0f 8e ef 18 06 00    	jle    0x47d250
41b961:	83 e8 13             	sub    $0x13,%eax
41b964:	0f 84 0c 1e 06 00    	je     0x47d776
41b96a:	48                   	dec    %eax
41b96b:	0f 84 c4 1d 06 00    	je     0x47d735
41b971:	48                   	dec    %eax
41b972:	48                   	dec    %eax
41b973:	0f 84 36 1d 06 00    	je     0x47d6af
41b979:	83 e8 05             	sub    $0x5,%eax
41b97c:	0f 85 17 1d 06 00    	jne    0x47d699
41b982:	57                   	push   %edi
41b983:	51                   	push   %ecx
41b984:	e8 76 00 00 00       	call   0x41b9ff
41b989:	ff 37                	push   (%edi)
41b98b:	ff 15 24 d6 48 00    	call   *0x48d624
41b991:	8b 74 24 14          	mov    0x14(%esp),%esi
41b995:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
41b999:	75 2f                	jne    0x41b9ca
41b99b:	83 7f 64 00          	cmpl   $0x0,0x64(%edi)
41b99f:	75 34                	jne    0x41b9d5
41b9a1:	83 7f 68 00          	cmpl   $0x0,0x68(%edi)
41b9a5:	75 39                	jne    0x41b9e0
41b9a7:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
41b9ab:	75 3e                	jne    0x41b9eb
41b9ad:	8b 44 24 20          	mov    0x20(%esp),%eax
41b9b1:	3b 46 1c             	cmp    0x1c(%esi),%eax
41b9b4:	74 40                	je     0x41b9f6
41b9b6:	50                   	push   %eax
41b9b7:	8b cb                	mov    %ebx,%ecx
41b9b9:	e8 cb 00 00 00       	call   0x41ba89
41b9be:	33 c0                	xor    %eax,%eax
41b9c0:	40                   	inc    %eax
41b9c1:	5f                   	pop    %edi
41b9c2:	5e                   	pop    %esi
41b9c3:	5b                   	pop    %ebx
41b9c4:	8b e5                	mov    %ebp,%esp
41b9c6:	5d                   	pop    %ebp
41b9c7:	c2 04 00             	ret    $0x4
41b9ca:	ff 77 44             	push   0x44(%edi)
41b9cd:	ff 15 c8 d0 48 00    	call   *0x48d0c8
41b9d3:	eb c6                	jmp    0x41b99b
41b9d5:	ff 77 64             	push   0x64(%edi)
41b9d8:	ff 15 c8 d0 48 00    	call   *0x48d0c8
41b9de:	eb c1                	jmp    0x41b9a1
41b9e0:	ff 77 68             	push   0x68(%edi)
41b9e3:	ff 15 24 d7 48 00    	call   *0x48d724
41b9e9:	eb bc                	jmp    0x41b9a7
41b9eb:	ff 77 50             	push   0x50(%edi)
41b9ee:	ff 15 24 d6 48 00    	call   *0x48d624
41b9f4:	eb b7                	jmp    0x41b9ad
41b9f6:	8b 4c 24 18          	mov    0x18(%esp),%ecx
41b9fa:	89 4e 1c             	mov    %ecx,0x1c(%esi)
41b9fd:	eb b7                	jmp    0x41b9b6
41b9ff:	55                   	push   %ebp
41ba00:	8b ec                	mov    %esp,%ebp
41ba02:	56                   	push   %esi
41ba03:	57                   	push   %edi
41ba04:	8b 7d 08             	mov    0x8(%ebp),%edi
41ba07:	8b b7 c8 01 00 00    	mov    0x1c8(%edi),%esi
41ba0d:	8b ce                	mov    %esi,%ecx
41ba0f:	89 4d 08             	mov    %ecx,0x8(%ebp)
41ba12:	85 f6                	test   %esi,%esi
41ba14:	74 3c                	je     0x41ba52
41ba16:	8b 45 0c             	mov    0xc(%ebp),%eax
41ba19:	53                   	push   %ebx
41ba1a:	85 c0                	test   %eax,%eax
41ba1c:	74 08                	je     0x41ba26
41ba1e:	3b b0 80 00 00 00    	cmp    0x80(%eax),%esi
41ba24:	75 3e                	jne    0x41ba64
41ba26:	8b 5e 04             	mov    0x4(%esi),%ebx
41ba29:	85 db                	test   %ebx,%ebx
41ba2b:	0f 85 5c 1e 06 00    	jne    0x47d88d
41ba31:	8b 87 c8 01 00 00    	mov    0x1c8(%edi),%eax
41ba37:	3b f0                	cmp    %eax,%esi
41ba39:	75 3e                	jne    0x41ba79
41ba3b:	8b 06                	mov    (%esi),%eax
41ba3d:	89 87 c8 01 00 00    	mov    %eax,0x1c8(%edi)
41ba43:	56                   	push   %esi
41ba44:	e8 15 3b 00 00       	call   0x41f55e
41ba49:	8b 45 0c             	mov    0xc(%ebp),%eax
41ba4c:	59                   	pop    %ecx
41ba4d:	85 c0                	test   %eax,%eax
41ba4f:	74 13                	je     0x41ba64
41ba51:	5b                   	pop    %ebx
41ba52:	6a 01                	push   $0x1
41ba54:	6a 00                	push   $0x0
41ba56:	ff 37                	push   (%edi)
41ba58:	ff 15 40 d6 48 00    	call   *0x48d640
41ba5e:	5f                   	pop    %edi
41ba5f:	5e                   	pop    %esi
41ba60:	5d                   	pop    %ebp
41ba61:	c2 08 00             	ret    $0x8
41ba64:	85 c0                	test   %eax,%eax
41ba66:	75 1b                	jne    0x41ba83
41ba68:	8b b7 c8 01 00 00    	mov    0x1c8(%edi),%esi
41ba6e:	8b ce                	mov    %esi,%ecx
41ba70:	89 4d 08             	mov    %ecx,0x8(%ebp)
41ba73:	85 f6                	test   %esi,%esi
41ba75:	74 da                	je     0x41ba51
41ba77:	eb a1                	jmp    0x41ba1a
41ba79:	39 01                	cmp    %eax,(%ecx)
41ba7b:	74 be                	je     0x41ba3b
41ba7d:	8b 06                	mov    (%esi),%eax
41ba7f:	89 01                	mov    %eax,(%ecx)
41ba81:	eb c0                	jmp    0x41ba43
41ba83:	8b ce                	mov    %esi,%ecx
41ba85:	8b 36                	mov    (%esi),%esi
41ba87:	eb e7                	jmp    0x41ba70
41ba89:	55                   	push   %ebp
41ba8a:	8b ec                	mov    %esp,%ebp
41ba8c:	53                   	push   %ebx
41ba8d:	56                   	push   %esi
41ba8e:	57                   	push   %edi
41ba8f:	8b 7d 08             	mov    0x8(%ebp),%edi
41ba92:	8b f1                	mov    %ecx,%esi
41ba94:	8b df                	mov    %edi,%ebx
41ba96:	8b 46 74             	mov    0x74(%esi),%eax
41ba99:	c1 e3 02             	shl    $0x2,%ebx
41ba9c:	8b 04 03             	mov    (%ebx,%eax,1),%eax
41ba9f:	8b 08                	mov    (%eax),%ecx
41baa1:	85 c9                	test   %ecx,%ecx
41baa3:	74 06                	je     0x41baab
41baa5:	51                   	push   %ecx
41baa6:	e8 5d 00 00 00       	call   0x41bb08
41baab:	8b 46 74             	mov    0x74(%esi),%eax
41baae:	8b 04 03             	mov    (%ebx,%eax,1),%eax
41bab1:	83 20 00             	andl   $0x0,(%eax)
41bab4:	ff 8e 80 00 00 00    	decl   0x80(%esi)
41baba:	3b be 84 00 00 00    	cmp    0x84(%esi),%edi
41bac0:	75 2a                	jne    0x41baec
41bac2:	83 ff 03             	cmp    $0x3,%edi
41bac5:	7c 15                	jl     0x41badc
41bac7:	8b 4e 74             	mov    0x74(%esi),%ecx
41baca:	03 cb                	add    %ebx,%ecx
41bacc:	8b 01                	mov    (%ecx),%eax
41bace:	83 38 00             	cmpl   $0x0,(%eax)
41bad1:	75 09                	jne    0x41badc
41bad3:	4f                   	dec    %edi
41bad4:	83 e9 04             	sub    $0x4,%ecx
41bad7:	83 ff 03             	cmp    $0x3,%edi
41bada:	7d f0                	jge    0x41bacc
41badc:	89 be 84 00 00 00    	mov    %edi,0x84(%esi)
41bae2:	eb 08                	jmp    0x41baec
41bae4:	8d 4e 70             	lea    0x70(%esi),%ecx
41bae7:	e8 55 00 00 00       	call   0x41bb41
41baec:	83 7e 78 03          	cmpl   $0x3,0x78(%esi)
41baf0:	76 0f                	jbe    0x41bb01
41baf2:	8b 4e 78             	mov    0x78(%esi),%ecx
41baf5:	8b 46 74             	mov    0x74(%esi),%eax
41baf8:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
41bafc:	83 38 00             	cmpl   $0x0,(%eax)
41baff:	74 e3                	je     0x41bae4
41bb01:	5f                   	pop    %edi
41bb02:	5e                   	pop    %esi
41bb03:	5b                   	pop    %ebx
41bb04:	5d                   	pop    %ebp
41bb05:	c2 04 00             	ret    $0x4
41bb08:	56                   	push   %esi
41bb09:	8b f1                	mov    %ecx,%esi
41bb0b:	e8 0d 00 00 00       	call   0x41bb1d
41bb10:	56                   	push   %esi
41bb11:	e8 48 3a 00 00       	call   0x41f55e
41bb16:	59                   	pop    %ecx
41bb17:	8b c6                	mov    %esi,%eax
41bb19:	5e                   	pop    %esi
41bb1a:	c2 04 00             	ret    $0x4
41bb1d:	56                   	push   %esi
41bb1e:	8b f1                	mov    %ecx,%esi
41bb20:	8d 4e 70             	lea    0x70(%esi),%ecx
41bb23:	e8 f8 70 ff ff       	call   0x412c20
41bb28:	8d 4e 54             	lea    0x54(%esi),%ecx
41bb2b:	e8 07 10 ff ff       	call   0x40cb37
41bb30:	8d 4e 24             	lea    0x24(%esi),%ecx
41bb33:	e8 ff 0f ff ff       	call   0x40cb37
41bb38:	8d 4e 14             	lea    0x14(%esi),%ecx
41bb3b:	5e                   	pop    %esi
41bb3c:	e9 f6 0f ff ff       	jmp    0x40cb37
41bb41:	56                   	push   %esi
41bb42:	8b f1                	mov    %ecx,%esi
41bb44:	ff 4e 08             	decl   0x8(%esi)
41bb47:	8b 56 08             	mov    0x8(%esi),%edx
41bb4a:	8b 46 04             	mov    0x4(%esi),%eax
41bb4d:	ff 34 90             	push   (%eax,%edx,4)
41bb50:	e8 09 3a 00 00       	call   0x41f55e
41bb55:	8b 46 04             	mov    0x4(%esi),%eax
41bb58:	59                   	pop    %ecx
41bb59:	8b 4e 08             	mov    0x8(%esi),%ecx
41bb5c:	5e                   	pop    %esi
41bb5d:	83 24 88 00          	andl   $0x0,(%eax,%ecx,4)
41bb61:	c3                   	ret
41bb62:	56                   	push   %esi
41bb63:	8b f1                	mov    %ecx,%esi
41bb65:	e8 0d 00 00 00       	call   0x41bb77
41bb6a:	56                   	push   %esi
41bb6b:	e8 ee 39 00 00       	call   0x41f55e
41bb70:	59                   	pop    %ecx
41bb71:	8b c6                	mov    %esi,%eax
41bb73:	5e                   	pop    %esi
41bb74:	c2 04 00             	ret    $0x4
41bb77:	56                   	push   %esi
41bb78:	68 37 cb 40 00       	push   $0x40cb37
41bb7d:	6a 0e                	push   $0xe
41bb7f:	8b f1                	mov    %ecx,%esi
41bb81:	6a 10                	push   $0x10
41bb83:	8d 8e 8c 00 00 00    	lea    0x8c(%esi),%ecx
41bb89:	5a                   	pop    %edx
41bb8a:	e8 5d 93 fe ff       	call   0x404eec
41bb8f:	8d 4e 6c             	lea    0x6c(%esi),%ecx
41bb92:	e8 a0 0f ff ff       	call   0x40cb37
41bb97:	8d 4e 28             	lea    0x28(%esi),%ecx
41bb9a:	5e                   	pop    %esi
41bb9b:	e9 97 0f ff ff       	jmp    0x40cb37
41bba0:	53                   	push   %ebx
41bba1:	56                   	push   %esi
41bba2:	8b f1                	mov    %ecx,%esi
41bba4:	33 c0                	xor    %eax,%eax
41bba6:	57                   	push   %edi
41bba7:	6a 02                	push   $0x2
41bba9:	5f                   	pop    %edi
41bbaa:	83 cb ff             	or     $0xffffffff,%ebx
41bbad:	8d 4e 28             	lea    0x28(%esi),%ecx
41bbb0:	89 06                	mov    %eax,(%esi)
41bbb2:	89 46 08             	mov    %eax,0x8(%esi)
41bbb5:	89 46 0c             	mov    %eax,0xc(%esi)
41bbb8:	89 7e 10             	mov    %edi,0x10(%esi)
41bbbb:	89 46 14             	mov    %eax,0x14(%esi)
41bbbe:	89 46 18             	mov    %eax,0x18(%esi)
41bbc1:	89 5e 1c             	mov    %ebx,0x1c(%esi)
41bbc4:	89 46 20             	mov    %eax,0x20(%esi)
41bbc7:	89 46 24             	mov    %eax,0x24(%esi)
41bbca:	e8 28 1c ff ff       	call   0x40d7f7
41bbcf:	33 c0                	xor    %eax,%eax
41bbd1:	8d 4e 6c             	lea    0x6c(%esi),%ecx
41bbd4:	66 89 46 38          	mov    %ax,0x38(%esi)
41bbd8:	c6 46 3a 01          	movb   $0x1,0x3a(%esi)
41bbdc:	89 46 3c             	mov    %eax,0x3c(%esi)
41bbdf:	89 46 40             	mov    %eax,0x40(%esi)
41bbe2:	89 5e 4c             	mov    %ebx,0x4c(%esi)
41bbe5:	89 5e 50             	mov    %ebx,0x50(%esi)
41bbe8:	89 5e 54             	mov    %ebx,0x54(%esi)
41bbeb:	89 5e 58             	mov    %ebx,0x58(%esi)
41bbee:	89 5e 5c             	mov    %ebx,0x5c(%esi)
41bbf1:	89 5e 60             	mov    %ebx,0x60(%esi)
41bbf4:	89 5e 64             	mov    %ebx,0x64(%esi)
41bbf7:	e8 fb 1b ff ff       	call   0x40d7f7
41bbfc:	83 a6 84 00 00 00 00 	andl   $0x0,0x84(%esi)
41bc03:	68 f7 d7 40 00       	push   $0x40d7f7
41bc08:	6a 0e                	push   $0xe
41bc0a:	6a 10                	push   $0x10
41bc0c:	8d 8e 8c 00 00 00    	lea    0x8c(%esi),%ecx
41bc12:	5a                   	pop    %edx
41bc13:	c7 46 7c 55 00 00 00 	movl   $0x55,0x7c(%esi)
41bc1a:	c7 86 80 00 00 00 90 	movl   $0x190,0x80(%esi)
41bc21:	01 00 00
41bc24:	89 be 88 00 00 00    	mov    %edi,0x88(%esi)
41bc2a:	e8 3d 8d fe ff       	call   0x40496c
41bc2f:	33 c0                	xor    %eax,%eax
41bc31:	89 86 6c 01 00 00    	mov    %eax,0x16c(%esi)
41bc37:	89 86 70 01 00 00    	mov    %eax,0x170(%esi)
41bc3d:	89 86 74 01 00 00    	mov    %eax,0x174(%esi)
41bc43:	89 86 78 01 00 00    	mov    %eax,0x178(%esi)
41bc49:	89 86 7c 01 00 00    	mov    %eax,0x17c(%esi)
41bc4f:	89 86 80 01 00 00    	mov    %eax,0x180(%esi)
41bc55:	88 86 84 01 00 00    	mov    %al,0x184(%esi)
41bc5b:	89 86 88 01 00 00    	mov    %eax,0x188(%esi)
41bc61:	89 86 94 01 00 00    	mov    %eax,0x194(%esi)
41bc67:	66 89 86 98 01 00 00 	mov    %ax,0x198(%esi)
41bc6e:	88 86 9a 01 00 00    	mov    %al,0x19a(%esi)
41bc74:	89 86 9c 01 00 00    	mov    %eax,0x19c(%esi)
41bc7a:	89 86 a0 01 00 00    	mov    %eax,0x1a0(%esi)
41bc80:	89 86 a4 01 00 00    	mov    %eax,0x1a4(%esi)
41bc86:	89 86 ac 01 00 00    	mov    %eax,0x1ac(%esi)
41bc8c:	89 86 b0 01 00 00    	mov    %eax,0x1b0(%esi)
41bc92:	89 86 c4 01 00 00    	mov    %eax,0x1c4(%esi)
41bc98:	89 86 c8 01 00 00    	mov    %eax,0x1c8(%esi)
41bc9e:	89 86 cc 01 00 00    	mov    %eax,0x1cc(%esi)
41bca4:	5f                   	pop    %edi
41bca5:	89 9e 8c 01 00 00    	mov    %ebx,0x18c(%esi)
41bcab:	89 9e 90 01 00 00    	mov    %ebx,0x190(%esi)
41bcb1:	89 9e bc 01 00 00    	mov    %ebx,0x1bc(%esi)
41bcb7:	89 9e c0 01 00 00    	mov    %ebx,0x1c0(%esi)
41bcbd:	c6 86 a8 01 00 00 01 	movb   $0x1,0x1a8(%esi)
41bcc4:	8b c6                	mov    %esi,%eax
41bcc6:	5e                   	pop    %esi
41bcc7:	5b                   	pop    %ebx
41bcc8:	c3                   	ret
41bcc9:	55                   	push   %ebp
41bcca:	8b ec                	mov    %esp,%ebp
41bccc:	83 e4 f8             	and    $0xfffffff8,%esp
41bccf:	81 ec bc 00 00 00    	sub    $0xbc,%esp
41bcd5:	53                   	push   %ebx
41bcd6:	56                   	push   %esi
41bcd7:	57                   	push   %edi
41bcd8:	6a 00                	push   $0x0
41bcda:	ff 15 70 d1 48 00    	call   *0x48d170
41bce0:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
41bce7:	50                   	push   %eax
41bce8:	c7 84 24 8c 00 00 00 	movl   $0x40,0x8c(%esp)
41bcef:	40 00 00 00
41bcf3:	ff 15 e0 d2 48 00    	call   *0x48d2e0
41bcf9:	8b 75 0c             	mov    0xc(%ebp),%esi
41bcfc:	33 db                	xor    %ebx,%ebx
41bcfe:	6a 07                	push   $0x7
41bd00:	43                   	inc    %ebx
41bd01:	53                   	push   %ebx
41bd02:	56                   	push   %esi
41bd03:	e8 48 03 00 00       	call   0x41c050
41bd08:	db 84 24 98 00 00 00 	fildl  0x98(%esp)
41bd0f:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
41bd16:	85 c0                	test   %eax,%eax
41bd18:	0f 88 fc ae 05 00    	js     0x476c1a
41bd1e:	83 64 24 6c 00       	andl   $0x0,0x6c(%esp)
41bd23:	dd 5c 24 64          	fstpl  0x64(%esp)
41bd27:	6a 03                	push   $0x3