513802:	83 7c 24 1c 0d       	cmpl   $0xd,0x1c(%esp)
513807:	0f 85 d3 01 00 00    	jne    0x5139e0
51380d:	55                   	push   %ebp
51380e:	e8 9d c8 fd ff       	call   0x4f00b0
513813:	f3 0f 7e 06          	movq   (%esi),%xmm0
513817:	55                   	push   %ebp
513818:	66 0f d6 00          	movq   %xmm0,(%eax)
51381c:	8b 4e 08             	mov    0x8(%esi),%ecx
51381f:	89 48 08             	mov    %ecx,0x8(%eax)
513822:	8a 4e 0c             	mov    0xc(%esi),%cl
513825:	88 48 0c             	mov    %cl,0xc(%eax)
513828:	c7 87 30 01 00 00 0d 	movl   $0xd,0x130(%edi)
51382f:	00 00 00
513832:	e8 79 c8 fd ff       	call   0x4f00b0
513837:	55                   	push   %ebp
513838:	0f b6 40 0b          	movzbl 0xb(%eax),%eax
51383c:	66 c1 e0 08          	shl    $0x8,%ax
513840:	0f b7 f0             	movzwl %ax,%esi
513843:	e8 68 c8 fd ff       	call   0x4f00b0
513848:	83 c4 0c             	add    $0xc,%esp
51384b:	0f b6 40 0c          	movzbl 0xc(%eax),%eax
51384f:	66 0b c6             	or     %si,%ax
513852:	0f b7 d8             	movzwl %ax,%ebx
513855:	83 fb 08             	cmp    $0x8,%ebx
513858:	0f 82 82 01 00 00    	jb     0x5139e0
51385e:	81 c3 f8 ff 00 00    	add    $0xfff8,%ebx
513864:	55                   	push   %ebp
513865:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
513869:	e8 e2 39 fd ff       	call   0x4e7250
51386e:	83 c4 04             	add    $0x4,%esp
513871:	85 c0                	test   %eax,%eax
513873:	75 17                	jne    0x51388c
513875:	8b 8f 2c 01 00 00    	mov    0x12c(%edi),%ecx
51387b:	0f b7 c3             	movzwl %bx,%eax
51387e:	3b c1                	cmp    %ecx,%eax
513880:	0f 8c 5a 01 00 00    	jl     0x5139e0
513886:	2b d9                	sub    %ecx,%ebx
513888:	89 5c 24 18          	mov    %ebx,0x18(%esp)
51388c:	55                   	push   %ebp
51388d:	c1 eb 08             	shr    $0x8,%ebx
513890:	e8 1b c8 fd ff       	call   0x4f00b0
513895:	55                   	push   %ebp
513896:	88 58 0b             	mov    %bl,0xb(%eax)
513899:	e8 12 c8 fd ff       	call   0x4f00b0
51389e:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5138a2:	83 c4 08             	add    $0x8,%esp
5138a5:	88 48 0c             	mov    %cl,0xc(%eax)
5138a8:	8b 87 2c 01 00 00    	mov    0x12c(%edi),%eax
5138ae:	5f                   	pop    %edi
5138af:	5e                   	pop    %esi
5138b0:	5d                   	pop    %ebp
5138b1:	5b                   	pop    %ebx
5138b2:	c3                   	ret
5138b3:	83 7c 24 1c 04       	cmpl   $0x4,0x1c(%esp)
5138b8:	0f 85 22 01 00 00    	jne    0x5139e0
5138be:	55                   	push   %ebp
5138bf:	e8 5c c8 fd ff       	call   0x4f0120
5138c4:	8b 0e                	mov    (%esi),%ecx
5138c6:	83 c4 04             	add    $0x4,%esp
5138c9:	89 08                	mov    %ecx,(%eax)
5138cb:	b8 01 00 00 00       	mov    $0x1,%eax
5138d0:	5f                   	pop    %edi
5138d1:	5e                   	pop    %esi
5138d2:	5d                   	pop    %ebp
5138d3:	5b                   	pop    %ebx
5138d4:	c3                   	ret
5138d5:	b8 0f 00 00 00       	mov    $0xf,%eax
5138da:	2b 87 28 01 00 00    	sub    0x128(%edi),%eax
5138e0:	5f                   	pop    %edi
5138e1:	89 06                	mov    %eax,(%esi)
5138e3:	b8 01 00 00 00       	mov    $0x1,%eax
5138e8:	5e                   	pop    %esi
5138e9:	5d                   	pop    %ebp
5138ea:	5b                   	pop    %ebx
5138eb:	c3                   	ret
5138ec:	b9 0f 00 00 00       	mov    $0xf,%ecx
5138f1:	2b 4c 24 1c          	sub    0x1c(%esp),%ecx
5138f5:	eb 04                	jmp    0x5138fb
5138f7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5138fb:	8d 41 fe             	lea    -0x2(%ecx),%eax
5138fe:	83 f8 06             	cmp    $0x6,%eax
513901:	0f 87 d9 00 00 00    	ja     0x5139e0
513907:	89 8f 28 01 00 00    	mov    %ecx,0x128(%edi)
51390d:	b8 01 00 00 00       	mov    $0x1,%eax
513912:	5f                   	pop    %edi
513913:	5e                   	pop    %esi
513914:	5d                   	pop    %ebp
513915:	5b                   	pop    %ebx
513916:	c3                   	ret
513917:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
51391b:	f6 c3 01             	test   $0x1,%bl
51391e:	0f 85 bc 00 00 00    	jne    0x5139e0
513924:	8d 43 fc             	lea    -0x4(%ebx),%eax
513927:	83 f8 0c             	cmp    $0xc,%eax
51392a:	0f 87 b0 00 00 00    	ja     0x5139e0
513930:	55                   	push   %ebp
513931:	e8 1a 39 fd ff       	call   0x4e7250
513936:	83 c4 04             	add    $0x4,%esp
513939:	85 f6                	test   %esi,%esi
51393b:	74 26                	je     0x513963
51393d:	85 c0                	test   %eax,%eax
51393f:	0f 85 9b 00 00 00    	jne    0x5139e0
513945:	53                   	push   %ebx
513946:	56                   	push   %esi
513947:	55                   	push   %ebp
513948:	c7 87 20 01 00 00 01 	movl   $0x1,0x120(%edi)
51394f:	00 00 00
513952:	e8 59 c7 fd ff       	call   0x4f00b0
513957:	83 c4 04             	add    $0x4,%esp
51395a:	50                   	push   %eax
51395b:	e8 70 f4 0b 00       	call   0x5d2dd0
513960:	83 c4 0c             	add    $0xc,%esp
513963:	89 9f 2c 01 00 00    	mov    %ebx,0x12c(%edi)
513969:	b8 01 00 00 00       	mov    $0x1,%eax
51396e:	5f                   	pop    %edi
51396f:	5e                   	pop    %esi
513970:	5d                   	pop    %ebp
513971:	5b                   	pop    %ebx
513972:	c3                   	ret
513973:	55                   	push   %ebp
513974:	e8 d7 38 fd ff       	call   0x4e7250
513979:	83 c4 04             	add    $0x4,%esp
51397c:	85 c0                	test   %eax,%eax
51397e:	74 60                	je     0x5139e0
513980:	83 bf 20 01 00 00 00 	cmpl   $0x0,0x120(%edi)
513987:	74 57                	je     0x5139e0
513989:	ff 74 24 1c          	push   0x1c(%esp)
51398d:	8d 87 38 01 00 00    	lea    0x138(%edi),%eax
513993:	56                   	push   %esi
513994:	50                   	push   %eax
513995:	e8 86 22 fe ff       	call   0x4f5c20
51399a:	83 c4 0c             	add    $0xc,%esp
51399d:	85 c0                	test   %eax,%eax
51399f:	74 3f                	je     0x5139e0
5139a1:	c7 87 20 01 00 00 00 	movl   $0x0,0x120(%edi)
5139a8:	00 00 00
5139ab:	b8 01 00 00 00       	mov    $0x1,%eax
5139b0:	c7 87 1c 01 00 00 00 	movl   $0x0,0x11c(%edi)
5139b7:	00 00 00
5139ba:	c7 87 24 01 00 00 00 	movl   $0x0,0x124(%edi)
5139c1:	00 00 00
5139c4:	5f                   	pop    %edi
5139c5:	5e                   	pop    %esi
5139c6:	5d                   	pop    %ebp
5139c7:	5b                   	pop    %ebx
5139c8:	c3                   	ret
5139c9:	56                   	push   %esi
5139ca:	e8 01 c7 fd ff       	call   0x4f00d0
5139cf:	8b 8f 64 01 00 00    	mov    0x164(%edi),%ecx
5139d5:	83 c4 04             	add    $0x4,%esp
5139d8:	85 c9                	test   %ecx,%ecx
5139da:	74 11                	je     0x5139ed
5139dc:	3b cf                	cmp    %edi,%ecx
5139de:	74 07                	je     0x5139e7
5139e0:	5f                   	pop    %edi
5139e1:	5e                   	pop    %esi
5139e2:	5d                   	pop    %ebp
5139e3:	33 c0                	xor    %eax,%eax
5139e5:	5b                   	pop    %ebx
5139e6:	c3                   	ret
5139e7:	89 80 64 01 00 00    	mov    %eax,0x164(%eax)
5139ed:	5f                   	pop    %edi
5139ee:	5e                   	pop    %esi
5139ef:	5d                   	pop    %ebp
5139f0:	b8 01 00 00 00       	mov    $0x1,%eax
5139f5:	5b                   	pop    %ebx
5139f6:	c3                   	ret
5139f7:	5f                   	pop    %edi
5139f8:	5e                   	pop    %esi
5139f9:	5d                   	pop    %ebp
5139fa:	83 c8 ff             	or     $0xffffffff,%eax
5139fd:	5b                   	pop    %ebx
5139fe:	c3                   	ret
5139ff:	90                   	nop
513a00:	b2 37                	mov    $0x37,%dl
513a02:	51                   	push   %ecx
513a03:	00 c9                	add    %cl,%cl
513a05:	39 51 00             	cmp    %edx,0x0(%ecx)
513a08:	ec                   	in     (%dx),%al
513a09:	38 51 00             	cmp    %dl,0x0(%ecx)
513a0c:	73 39                	jae    0x513a47
513a0e:	51                   	push   %ecx
513a0f:	00 17                	add    %dl,(%edi)
513a11:	39 51 00             	cmp    %edx,0x0(%ecx)
513a14:	b3 38                	mov    $0x38,%bl
513a16:	51                   	push   %ecx
513a17:	00 f7                	add    %dh,%bh
513a19:	38 51 00             	cmp    %dl,0x0(%ecx)
513a1c:	02 38                	add    (%eax),%bh
513a1e:	51                   	push   %ecx
513a1f:	00 d5                	add    %dl,%ch
513a21:	38 51 00             	cmp    %dl,0x0(%ecx)
513a24:	f7 39                	idivl  (%ecx)
513a26:	51                   	push   %ecx
513a27:	00 00                	add    %al,(%eax)
513a29:	09 09                	or     %ecx,(%ecx)
513a2b:	09 09                	or     %ecx,(%ecx)
513a2d:	09 09                	or     %ecx,(%ecx)
513a2f:	09 01                	or     %eax,(%ecx)
513a31:	02 09                	add    (%ecx),%cl
513a33:	09 09                	or     %ecx,(%ecx)
513a35:	09 09                	or     %ecx,(%ecx)
513a37:	09 03                	or     %eax,(%ebx)
513a39:	04 05                	add    $0x5,%al
513a3b:	09 06                	or     %eax,(%esi)
513a3d:	09 07                	or     %eax,(%edi)
513a3f:	09 09                	or     %ecx,(%ecx)
513a41:	09 09                	or     %ecx,(%ecx)
513a43:	09 09                	or     %ecx,(%ecx)
513a45:	09 09                	or     %ecx,(%ecx)
513a47:	09 09                	or     %ecx,(%ecx)
513a49:	09 09                	or     %ecx,(%ecx)
513a4b:	09 09                	or     %ecx,(%ecx)
513a4d:	08 cc                	or     %cl,%ah
513a4f:	cc                   	int3
513a50:	b8 18 00 00 00       	mov    $0x18,%eax
513a55:	e8 56 dd 0b 00       	call   0x5d17b0
513a5a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
513a5f:	33 c4                	xor    %esp,%eax
513a61:	89 44 24 14          	mov    %eax,0x14(%esp)
513a65:	8b 44 24 1c          	mov    0x1c(%esp),%eax
513a69:	53                   	push   %ebx
513a6a:	8b 5c 24 28          	mov    0x28(%esp),%ebx
513a6e:	55                   	push   %ebp
513a6f:	8b 6c 24 28          	mov    0x28(%esp),%ebp
513a73:	56                   	push   %esi
513a74:	57                   	push   %edi
513a75:	50                   	push   %eax
513a76:	89 44 24 14          	mov    %eax,0x14(%esp)
513a7a:	e8 51 c6 fd ff       	call   0x4f00d0
513a7f:	8b f0                	mov    %eax,%esi
513a81:	83 c4 04             	add    $0x4,%esp
513a84:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
513a8b:	8d be 38 01 00 00    	lea    0x138(%esi),%edi
513a91:	0f 84 66 02 00 00    	je     0x513cfd
513a97:	83 be 30 01 00 00 00 	cmpl   $0x0,0x130(%esi)
513a9e:	7c 25                	jl     0x513ac5
513aa0:	ff 74 24 38          	push   0x38(%esp)
513aa4:	53                   	push   %ebx
513aa5:	55                   	push   %ebp
513aa6:	ff 74 24 1c          	push   0x1c(%esp)
513aaa:	e8 c1 04 00 00       	call   0x513f70
513aaf:	83 c4 10             	add    $0x10,%esp
513ab2:	5f                   	pop    %edi
513ab3:	5e                   	pop    %esi
513ab4:	5d                   	pop    %ebp
513ab5:	5b                   	pop    %ebx
513ab6:	8b 4c 24 14          	mov    0x14(%esp),%ecx
513aba:	33 cc                	xor    %esp,%ecx
513abc:	e8 65 df 0b 00       	call   0x5d1a26
513ac1:	83 c4 18             	add    $0x18,%esp
513ac4:	c3                   	ret
513ac5:	85 db                	test   %ebx,%ebx
513ac7:	75 19                	jne    0x513ae2
513ac9:	85 ed                	test   %ebp,%ebp
513acb:	74 15                	je     0x513ae2
513acd:	5f                   	pop    %edi
513ace:	5e                   	pop    %esi
513acf:	5d                   	pop    %ebp
513ad0:	33 c0                	xor    %eax,%eax
513ad2:	5b                   	pop    %ebx
513ad3:	8b 4c 24 14          	mov    0x14(%esp),%ecx
513ad7:	33 cc                	xor    %esp,%ecx
513ad9:	e8 48 df 0b 00       	call   0x5d1a26
513ade:	83 c4 18             	add    $0x18,%esp
513ae1:	c3                   	ret
513ae2:	83 be 1c 01 00 00 00 	cmpl   $0x0,0x11c(%esi)
513ae9:	0f 84 0e 02 00 00    	je     0x513cfd
513aef:	85 ed                	test   %ebp,%ebp
513af1:	0f 85 87 00 00 00    	jne    0x513b7e
513af7:	85 db                	test   %ebx,%ebx
513af9:	75 4e                	jne    0x513b49
513afb:	8b 5c 24 38          	mov    0x38(%esp),%ebx
513aff:	b8 0f 00 00 00       	mov    $0xf,%eax
513b04:	2b 86 28 01 00 00    	sub    0x128(%esi),%eax
513b0a:	53                   	push   %ebx
513b0b:	50                   	push   %eax
513b0c:	ff 74 24 18          	push   0x18(%esp)
513b10:	e8 0b c6 fd ff       	call   0x4f0120
513b15:	83 c4 04             	add    $0x4,%esp
513b18:	50                   	push   %eax
513b19:	57                   	push   %edi
513b1a:	e8 91 20 fe ff       	call   0x4f5bb0
513b1f:	83 c4 10             	add    $0x10,%esp
513b22:	85 c0                	test   %eax,%eax
513b24:	0f 85 d3 01 00 00    	jne    0x513cfd
513b2a:	5f                   	pop    %edi
513b2b:	c7 86 24 01 00 00 01 	movl   $0x1,0x124(%esi)
513b32:	00 00 00
513b35:	8b c3                	mov    %ebx,%eax
513b37:	5e                   	pop    %esi
513b38:	5d                   	pop    %ebp
513b39:	5b                   	pop    %ebx
513b3a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
513b3e:	33 cc                	xor    %esp,%ecx
513b40:	e8 e1 de 0b 00       	call   0x5d1a26
513b45:	83 c4 18             	add    $0x18,%esp
513b48:	c3                   	ret
513b49:	83 be 24 01 00 00 00 	cmpl   $0x0,0x124(%esi)
513b50:	8b 74 24 38          	mov    0x38(%esp),%esi
513b54:	75 08                	jne    0x513b5e
513b56:	85 f6                	test   %esi,%esi
513b58:	0f 85 9f 01 00 00    	jne    0x513cfd
513b5e:	56                   	push   %esi
513b5f:	53                   	push   %ebx
513b60:	57                   	push   %edi
513b61:	e8 0a 15 fe ff       	call   0x4f5070
513b66:	83 c4 0c             	add    $0xc,%esp
513b69:	8b c6                	mov    %esi,%eax
513b6b:	5f                   	pop    %edi
513b6c:	5e                   	pop    %esi
513b6d:	5d                   	pop    %ebp
513b6e:	5b                   	pop    %ebx
513b6f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
513b73:	33 cc                	xor    %esp,%ecx
513b75:	e8 ac de 0b 00       	call   0x5d1a26
513b7a:	83 c4 18             	add    $0x18,%esp
513b7d:	c3                   	ret
513b7e:	ff 74 24 10          	push   0x10(%esp)
513b82:	e8 c9 36 fd ff       	call   0x4e7250
513b87:	83 c4 04             	add    $0x4,%esp
513b8a:	85 c0                	test   %eax,%eax
513b8c:	75 0c                	jne    0x513b9a
513b8e:	39 86 20 01 00 00    	cmp    %eax,0x120(%esi)
513b94:	0f 84 63 01 00 00    	je     0x513cfd
513b9a:	83 be 24 01 00 00 00 	cmpl   $0x0,0x124(%esi)
513ba1:	8b 7c 24 38          	mov    0x38(%esp),%edi
513ba5:	75 3b                	jne    0x513be2
513ba7:	b8 0f 00 00 00       	mov    $0xf,%eax
513bac:	2b 86 28 01 00 00    	sub    0x128(%esi),%eax
513bb2:	57                   	push   %edi
513bb3:	50                   	push   %eax
513bb4:	ff 74 24 18          	push   0x18(%esp)
513bb8:	e8 63 c5 fd ff       	call   0x4f0120
513bbd:	83 c4 04             	add    $0x4,%esp
513bc0:	50                   	push   %eax
513bc1:	8d 86 38 01 00 00    	lea    0x138(%esi),%eax
513bc7:	50                   	push   %eax
513bc8:	e8 e3 1f fe ff       	call   0x4f5bb0
513bcd:	83 c4 10             	add    $0x10,%esp
513bd0:	85 c0                	test   %eax,%eax
513bd2:	0f 85 25 01 00 00    	jne    0x513cfd
513bd8:	c7 86 24 01 00 00 01 	movl   $0x1,0x124(%esi)
513bdf:	00 00 00
513be2:	ff 74 24 10          	push   0x10(%esp)
513be6:	e8 65 36 fd ff       	call   0x4e7250
513beb:	8b 8e 68 01 00 00    	mov    0x168(%esi),%ecx
513bf1:	83 c4 04             	add    $0x4,%esp
513bf4:	85 c0                	test   %eax,%eax
513bf6:	74 4c                	je     0x513c44