413734:	89 7d e0             	mov    %edi,-0x20(%ebp)
413737:	89 75 dc             	mov    %esi,-0x24(%ebp)
41373a:	3b 75 0c             	cmp    0xc(%ebp),%esi
41373d:	74 16                	je     0x413755
41373f:	ff 75 10             	push   0x10(%ebp)
413742:	e8 c3 c8 00 00       	call   0x42000a
413747:	59                   	pop    %ecx
413748:	89 45 d8             	mov    %eax,-0x28(%ebp)
41374b:	83 f8 ff             	cmp    $0xffffffff,%eax
41374e:	75 2b                	jne    0x41377b
413750:	3b 7d 08             	cmp    0x8(%ebp),%edi
413753:	74 08                	je     0x41375d
413755:	88 1f                	mov    %bl,(%edi)
413757:	8b 5d 08             	mov    0x8(%ebp),%ebx
41375a:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41375d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
413764:	e8 22 00 00 00       	call   0x41378b
413769:	8b c3                	mov    %ebx,%eax
41376b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41376e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
413775:	59                   	pop    %ecx
413776:	5f                   	pop    %edi
413777:	5e                   	pop    %esi
413778:	5b                   	pop    %ebx
413779:	c9                   	leave
41377a:	c3                   	ret
41377b:	88 07                	mov    %al,(%edi)
41377d:	47                   	inc    %edi
41377e:	89 7d e0             	mov    %edi,-0x20(%ebp)
413781:	3c 0a                	cmp    $0xa,%al
413783:	74 d0                	je     0x413755
413785:	46                   	inc    %esi
413786:	eb af                	jmp    0x413737
413788:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
41378b:	ff 75 10             	push   0x10(%ebp)
41378e:	e8 52 a2 00 00       	call   0x41d9e5
413793:	59                   	pop    %ecx
413794:	c3                   	ret
413795:	8b ff                	mov    %edi,%edi
413797:	55                   	push   %ebp
413798:	8b ec                	mov    %esp,%ebp
41379a:	5d                   	pop    %ebp
41379b:	e9 23 ff ff ff       	jmp    0x4136c3
4137a0:	6a 0c                	push   $0xc
4137a2:	68 98 ab 43 00       	push   $0x43ab98
4137a7:	e8 24 6d ff ff       	call   0x40a4d0
4137ac:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4137b0:	8b 45 08             	mov    0x8(%ebp),%eax
4137b3:	ff 30                	push   (%eax)
4137b5:	e8 17 a2 00 00       	call   0x41d9d1
4137ba:	59                   	pop    %ecx
4137bb:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4137bf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4137c2:	e8 34 00 00 00       	call   0x4137fb
4137c7:	8b f0                	mov    %eax,%esi
4137c9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4137cc:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4137d3:	e8 17 00 00 00       	call   0x4137ef
4137d8:	8b c6                	mov    %esi,%eax
4137da:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4137dd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4137e4:	59                   	pop    %ecx
4137e5:	5f                   	pop    %edi
4137e6:	5e                   	pop    %esi
4137e7:	5b                   	pop    %ebx
4137e8:	c9                   	leave
4137e9:	c2 0c 00             	ret    $0xc
4137ec:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4137ef:	8b 45 10             	mov    0x10(%ebp),%eax
4137f2:	ff 30                	push   (%eax)
4137f4:	e8 ec a1 00 00       	call   0x41d9e5
4137f9:	59                   	pop    %ecx
4137fa:	c3                   	ret
4137fb:	8b ff                	mov    %edi,%edi
4137fd:	55                   	push   %ebp
4137fe:	8b ec                	mov    %esp,%ebp
413800:	51                   	push   %ecx
413801:	51                   	push   %ecx
413802:	53                   	push   %ebx
413803:	56                   	push   %esi
413804:	8b f1                	mov    %ecx,%esi
413806:	57                   	push   %edi
413807:	8b 06                	mov    (%esi),%eax
413809:	8b 7e 04             	mov    0x4(%esi),%edi
41380c:	8b 00                	mov    (%eax),%eax
41380e:	50                   	push   %eax
41380f:	89 45 fc             	mov    %eax,-0x4(%ebp)
413812:	e8 ca a3 00 00       	call   0x41dbe1
413817:	ff 76 04             	push   0x4(%esi)
41381a:	88 45 f8             	mov    %al,-0x8(%ebp)
41381d:	8b 06                	mov    (%esi),%eax
41381f:	ff 30                	push   (%eax)
413821:	8b 46 0c             	mov    0xc(%esi),%eax
413824:	ff 30                	push   (%eax)
413826:	8b 46 08             	mov    0x8(%esi),%eax
413829:	6a 01                	push   $0x1
41382b:	ff 30                	push   (%eax)
41382d:	e8 1a ca 00 00       	call   0x42024c
413832:	8b 4e 0c             	mov    0xc(%esi),%ecx
413835:	33 db                	xor    %ebx,%ebx
413837:	57                   	push   %edi
413838:	ff 75 fc             	push   -0x4(%ebp)
41383b:	3b 01                	cmp    (%ecx),%eax
41383d:	ff 75 f8             	push   -0x8(%ebp)
413840:	0f 94 c3             	sete   %bl
413843:	e8 44 a4 00 00       	call   0x41dc8c
413848:	83 c4 24             	add    $0x24,%esp
41384b:	8d 43 ff             	lea    -0x1(%ebx),%eax
41384e:	5f                   	pop    %edi
41384f:	5e                   	pop    %esi
413850:	5b                   	pop    %ebx
413851:	c9                   	leave
413852:	c3                   	ret
413853:	8b ff                	mov    %edi,%edi
413855:	55                   	push   %ebp
413856:	8b ec                	mov    %esp,%ebp
413858:	83 ec 20             	sub    $0x20,%esp
41385b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41385f:	75 23                	jne    0x413884
413861:	8b 45 10             	mov    0x10(%ebp),%eax
413864:	50                   	push   %eax
413865:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
413869:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
413870:	33 c0                	xor    %eax,%eax
413872:	50                   	push   %eax
413873:	50                   	push   %eax
413874:	50                   	push   %eax
413875:	50                   	push   %eax
413876:	50                   	push   %eax
413877:	e8 f5 9a ff ff       	call   0x40d371
41387c:	83 c4 18             	add    $0x18,%esp
41387f:	83 c8 ff             	or     $0xffffffff,%eax
413882:	c9                   	leave
413883:	c3                   	ret
413884:	8b 45 0c             	mov    0xc(%ebp),%eax
413887:	85 c0                	test   %eax,%eax
413889:	74 d6                	je     0x413861
41388b:	8b 48 0c             	mov    0xc(%eax),%ecx
41388e:	56                   	push   %esi
41388f:	90                   	nop
413890:	c1 e9 0c             	shr    $0xc,%ecx
413893:	f6 c1 01             	test   $0x1,%cl
413896:	75 7d                	jne    0x413915
413898:	57                   	push   %edi
413899:	50                   	push   %eax
41389a:	e8 a1 9f 00 00       	call   0x41d840
41389f:	be d0 d2 43 00       	mov    $0x43d2d0,%esi
4138a4:	59                   	pop    %ecx
4138a5:	83 f8 ff             	cmp    $0xffffffff,%eax
4138a8:	74 1b                	je     0x4138c5
4138aa:	83 f8 fe             	cmp    $0xfffffffe,%eax
4138ad:	74 16                	je     0x4138c5
4138af:	8b d0                	mov    %eax,%edx
4138b1:	8b c8                	mov    %eax,%ecx
4138b3:	83 e2 3f             	and    $0x3f,%edx
4138b6:	c1 f9 06             	sar    $0x6,%ecx
4138b9:	6b fa 38             	imul   $0x38,%edx,%edi
4138bc:	03 3c 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%edi
4138c3:	eb 0c                	jmp    0x4138d1
4138c5:	8b c8                	mov    %eax,%ecx
4138c7:	8b d0                	mov    %eax,%edx
4138c9:	c1 f9 06             	sar    $0x6,%ecx
4138cc:	8b fe                	mov    %esi,%edi
4138ce:	83 e2 3f             	and    $0x3f,%edx
4138d1:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
4138d5:	5f                   	pop    %edi
4138d6:	75 1a                	jne    0x4138f2
4138d8:	83 f8 ff             	cmp    $0xffffffff,%eax
4138db:	74 0f                	je     0x4138ec
4138dd:	83 f8 fe             	cmp    $0xfffffffe,%eax
4138e0:	74 0a                	je     0x4138ec
4138e2:	6b f2 38             	imul   $0x38,%edx,%esi
4138e5:	03 34 8d 00 f8 43 00 	add    0x43f800(,%ecx,4),%esi
4138ec:	f6 46 2d 01          	testb  $0x1,0x2d(%esi)
4138f0:	74 23                	je     0x413915
4138f2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4138f5:	33 c0                	xor    %eax,%eax
4138f7:	51                   	push   %ecx
4138f8:	50                   	push   %eax
4138f9:	50                   	push   %eax
4138fa:	50                   	push   %eax
4138fb:	50                   	push   %eax
4138fc:	50                   	push   %eax
4138fd:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
413901:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
413908:	e8 64 9a ff ff       	call   0x40d371
41390d:	83 c4 18             	add    $0x18,%esp
413910:	83 c8 ff             	or     $0xffffffff,%eax
413913:	eb 47                	jmp    0x41395c
413915:	8b 4d 08             	mov    0x8(%ebp),%ecx
413918:	8d 51 01             	lea    0x1(%ecx),%edx
41391b:	8a 01                	mov    (%ecx),%al
41391d:	41                   	inc    %ecx
41391e:	84 c0                	test   %al,%al
413920:	75 f9                	jne    0x41391b
413922:	8d 45 0c             	lea    0xc(%ebp),%eax
413925:	2b ca                	sub    %edx,%ecx
413927:	89 45 e0             	mov    %eax,-0x20(%ebp)
41392a:	8b 45 10             	mov    0x10(%ebp),%eax
41392d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
413930:	8d 45 08             	lea    0x8(%ebp),%eax
413933:	89 45 e8             	mov    %eax,-0x18(%ebp)
413936:	8d 45 f8             	lea    -0x8(%ebp),%eax
413939:	89 45 ec             	mov    %eax,-0x14(%ebp)
41393c:	8b 45 0c             	mov    0xc(%ebp),%eax
41393f:	89 45 f4             	mov    %eax,-0xc(%ebp)
413942:	89 45 f0             	mov    %eax,-0x10(%ebp)
413945:	8d 45 f4             	lea    -0xc(%ebp),%eax
413948:	50                   	push   %eax
413949:	8d 45 e0             	lea    -0x20(%ebp),%eax
41394c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41394f:	50                   	push   %eax
413950:	8d 45 f0             	lea    -0x10(%ebp),%eax
413953:	50                   	push   %eax
413954:	8d 4d ff             	lea    -0x1(%ebp),%ecx
413957:	e8 44 fe ff ff       	call   0x4137a0
41395c:	5e                   	pop    %esi
41395d:	c9                   	leave
41395e:	c3                   	ret
41395f:	8b ff                	mov    %edi,%edi
413961:	55                   	push   %ebp
413962:	8b ec                	mov    %esp,%ebp
413964:	83 ec 28             	sub    $0x28,%esp
413967:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41396a:	56                   	push   %esi
41396b:	6a 00                	push   $0x0
41396d:	e8 70 97 ff ff       	call   0x40d0e2
413972:	8d 45 d8             	lea    -0x28(%ebp),%eax
413975:	50                   	push   %eax
413976:	ff 75 0c             	push   0xc(%ebp)
413979:	ff 75 08             	push   0x8(%ebp)
41397c:	e8 d2 fe ff ff       	call   0x413853
413981:	83 c4 0c             	add    $0xc,%esp
413984:	8d 4d d8             	lea    -0x28(%ebp),%ecx
413987:	8b f0                	mov    %eax,%esi
413989:	e8 9c 97 ff ff       	call   0x40d12a
41398e:	8b c6                	mov    %esi,%eax
413990:	5e                   	pop    %esi
413991:	c9                   	leave
413992:	c3                   	ret
413993:	6a 0c                	push   $0xc
413995:	68 b8 ab 43 00       	push   $0x43abb8
41399a:	e8 31 6b ff ff       	call   0x40a4d0
41399f:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4139a3:	8b 45 08             	mov    0x8(%ebp),%eax
4139a6:	ff 30                	push   (%eax)
4139a8:	e8 24 a0 00 00       	call   0x41d9d1
4139ad:	59                   	pop    %ecx
4139ae:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4139b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4139b5:	e8 a6 14 00 00       	call   0x414e60
4139ba:	8b f0                	mov    %eax,%esi
4139bc:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4139bf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4139c6:	e8 17 00 00 00       	call   0x4139e2
4139cb:	8b c6                	mov    %esi,%eax
4139cd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4139d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4139d7:	59                   	pop    %ecx
4139d8:	5f                   	pop    %edi
4139d9:	5e                   	pop    %esi
4139da:	5b                   	pop    %ebx
4139db:	c9                   	leave
4139dc:	c2 0c 00             	ret    $0xc
4139df:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4139e2:	8b 45 10             	mov    0x10(%ebp),%eax
4139e5:	ff 30                	push   (%eax)
4139e7:	e8 f9 9f 00 00       	call   0x41d9e5
4139ec:	59                   	pop    %ecx
4139ed:	c3                   	ret
4139ee:	8b ff                	mov    %edi,%edi
4139f0:	55                   	push   %ebp
4139f1:	8b ec                	mov    %esp,%ebp
4139f3:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
4139f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4139fa:	99                   	cltd
4139fb:	33 d2                	xor    %edx,%edx
4139fd:	c1 e0 1f             	shl    $0x1f,%eax
413a00:	83 ca 01             	or     $0x1,%edx
413a03:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
413a08:	89 11                	mov    %edx,(%ecx)
413a0a:	89 41 04             	mov    %eax,0x4(%ecx)
413a0d:	5d                   	pop    %ebp
413a0e:	c3                   	ret
413a0f:	8b ff                	mov    %edi,%edi
413a11:	55                   	push   %ebp
413a12:	8b ec                	mov    %esp,%ebp
413a14:	8b 4d 0c             	mov    0xc(%ebp),%ecx
413a17:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
413a1b:	c1 e0 1f             	shl    $0x1f,%eax
413a1e:	8d 49 7f             	lea    0x7f(%ecx),%ecx
413a21:	c1 e1 17             	shl    $0x17,%ecx
413a24:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
413a2a:	0b c8                	or     %eax,%ecx
413a2c:	8b 45 10             	mov    0x10(%ebp),%eax
413a2f:	25 ff ff 7f 00       	and    $0x7fffff,%eax
413a34:	0b c8                	or     %eax,%ecx
413a36:	8b 45 18             	mov    0x18(%ebp),%eax
413a39:	89 08                	mov    %ecx,(%eax)
413a3b:	33 c0                	xor    %eax,%eax
413a3d:	5d                   	pop    %ebp
413a3e:	c3                   	ret
413a3f:	8b ff                	mov    %edi,%edi
413a41:	55                   	push   %ebp
413a42:	8b ec                	mov    %esp,%ebp
413a44:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
413a48:	33 c9                	xor    %ecx,%ecx
413a4a:	0b 4d 10             	or     0x10(%ebp),%ecx
413a4d:	56                   	push   %esi
413a4e:	8b 75 0c             	mov    0xc(%ebp),%esi
413a51:	99                   	cltd
413a52:	81 c6 ff 03 00 00    	add    $0x3ff,%esi
413a58:	0f a4 c2 0b          	shld   $0xb,%eax,%edx
413a5c:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
413a62:	c1 e0 0b             	shl    $0xb,%eax
413a65:	0b f0                	or     %eax,%esi
413a67:	8b 45 14             	mov    0x14(%ebp),%eax
413a6a:	c1 e6 14             	shl    $0x14,%esi
413a6d:	25 ff ff 0f 00       	and    $0xfffff,%eax
413a72:	0b f0                	or     %eax,%esi
413a74:	8b 45 18             	mov    0x18(%ebp),%eax
413a77:	89 70 04             	mov    %esi,0x4(%eax)
413a7a:	89 08                	mov    %ecx,(%eax)
413a7c:	33 c0                	xor    %eax,%eax
413a7e:	5e                   	pop    %esi
413a7f:	5d                   	pop    %ebp
413a80:	c3                   	ret
413a81:	8b ff                	mov    %edi,%edi
413a83:	55                   	push   %ebp
413a84:	8b ec                	mov    %esp,%ebp
413a86:	51                   	push   %ecx
413a87:	51                   	push   %ecx
413a88:	8b 45 0c             	mov    0xc(%ebp),%eax
413a8b:	89 45 f8             	mov    %eax,-0x8(%ebp)
413a8e:	8d 45 f8             	lea    -0x8(%ebp),%eax
413a91:	50                   	push   %eax
413a92:	ff 75 08             	push   0x8(%ebp)
413a95:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
413a99:	e8 04 1b 00 00       	call   0x4155a2
413a9e:	59                   	pop    %ecx
413a9f:	59                   	pop    %ecx
413aa0:	c9                   	leave
413aa1:	c3                   	ret
413aa2:	8b ff                	mov    %edi,%edi
413aa4:	55                   	push   %ebp
413aa5:	8b ec                	mov    %esp,%ebp
413aa7:	51                   	push   %ecx
413aa8:	51                   	push   %ecx
413aa9:	8b 45 0c             	mov    0xc(%ebp),%eax
413aac:	89 45 f8             	mov    %eax,-0x8(%ebp)