408891:	c6 00 23             	movb   $0x23,(%eax)
408894:	40                   	inc    %eax
408895:	8b d1                	mov    %ecx,%edx
408897:	c6 00 6c             	movb   $0x6c,(%eax)
40889a:	81 e2 00 0e 00 00    	and    $0xe00,%edx
4088a0:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4088a6:	75 04                	jne    0x4088ac
4088a8:	b1 6f                	mov    $0x6f,%cl
4088aa:	eb 17                	jmp    0x4088c3
4088ac:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4088b2:	74 04                	je     0x4088b8
4088b4:	b1 75                	mov    $0x75,%cl
4088b6:	eb 0b                	jmp    0x4088c3
4088b8:	c0 e1 03             	shl    $0x3,%cl
4088bb:	f6 d1                	not    %cl
4088bd:	80 e1 20             	and    $0x20,%cl
4088c0:	80 c9 58             	or     $0x58,%cl
4088c3:	ff 75 1c             	push   0x1c(%ebp)
4088c6:	88 48 01             	mov    %cl,0x1(%eax)
4088c9:	c6 40 02 00          	movb   $0x0,0x2(%eax)
4088cd:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4088d1:	50                   	push   %eax
4088d2:	8d 44 24 28          	lea    0x28(%esp),%eax
4088d6:	6a 40                	push   $0x40
4088d8:	50                   	push   %eax
4088d9:	e8 52 e0 ff ff       	call   0x406930
4088de:	50                   	push   %eax
4088df:	8d 44 24 34          	lea    0x34(%esp),%eax
4088e3:	50                   	push   %eax
4088e4:	ff 75 18             	push   0x18(%ebp)
4088e7:	56                   	push   %esi
4088e8:	ff 75 10             	push   0x10(%ebp)
4088eb:	ff 75 0c             	push   0xc(%ebp)
4088ee:	57                   	push   %edi
4088ef:	53                   	push   %ebx
4088f0:	e8 5b 07 00 00       	call   0x409050
4088f5:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
4088fc:	83 c4 30             	add    $0x30,%esp
4088ff:	8b c7                	mov    %edi,%eax
408901:	5f                   	pop    %edi
408902:	5e                   	pop    %esi
408903:	5b                   	pop    %ebx
408904:	33 cc                	xor    %esp,%ecx
408906:	e8 9f 12 01 00       	call   0x419baa
40890b:	8b e5                	mov    %ebp,%esp
40890d:	5d                   	pop    %ebp
40890e:	c2 18 00             	ret    $0x18
408911:	cc                   	int3
408912:	cc                   	int3
408913:	cc                   	int3
408914:	cc                   	int3
408915:	cc                   	int3
408916:	cc                   	int3
408917:	cc                   	int3
408918:	cc                   	int3
408919:	cc                   	int3
40891a:	cc                   	int3
40891b:	cc                   	int3
40891c:	cc                   	int3
40891d:	cc                   	int3
40891e:	cc                   	int3
40891f:	cc                   	int3
408920:	55                   	push   %ebp
408921:	8b ec                	mov    %esp,%ebp
408923:	83 e4 f8             	and    $0xfffffff8,%esp
408926:	83 ec 5c             	sub    $0x5c,%esp
408929:	a1 14 50 45 00       	mov    0x455014,%eax
40892e:	33 c4                	xor    %esp,%eax
408930:	89 44 24 58          	mov    %eax,0x58(%esp)
408934:	0f b6 44 24 0d       	movzbl 0xd(%esp),%eax
408939:	53                   	push   %ebx
40893a:	56                   	push   %esi
40893b:	8b 75 14             	mov    0x14(%ebp),%esi
40893e:	89 4c 24 10          	mov    %ecx,0x10(%esp)
408942:	8b 5c 24 10          	mov    0x10(%esp),%ebx
408946:	c7 44 24 0c 2b 00 00 	movl   $0x2b,0xc(%esp)
40894d:	00
40894e:	8b 4e 14             	mov    0x14(%esi),%ecx
408951:	8b d1                	mov    %ecx,%edx
408953:	f7 c1 20 00 00 00    	test   $0x20,%ecx
408959:	c6 44 24 14 25       	movb   $0x25,0x14(%esp)
40895e:	57                   	push   %edi
40895f:	0f 45 44 24 10       	cmovne 0x10(%esp),%eax
408964:	f7 c2 20 00 00 00    	test   $0x20,%edx
40896a:	8b 7d 08             	mov    0x8(%ebp),%edi
40896d:	8d 54 24 1a          	lea    0x1a(%esp),%edx
408971:	88 44 24 19          	mov    %al,0x19(%esp)
408975:	8d 44 24 19          	lea    0x19(%esp),%eax
408979:	0f 45 c2             	cmovne %edx,%eax
40897c:	f6 c1 08             	test   $0x8,%cl
40897f:	74 04                	je     0x408985
408981:	c6 00 23             	movb   $0x23,(%eax)
408984:	40                   	inc    %eax
408985:	8b d1                	mov    %ecx,%edx
408987:	c6 00 6c             	movb   $0x6c,(%eax)
40898a:	81 e2 00 0e 00 00    	and    $0xe00,%edx
408990:	81 fa 00 04 00 00    	cmp    $0x400,%edx
408996:	75 04                	jne    0x40899c
408998:	b1 6f                	mov    $0x6f,%cl
40899a:	eb 17                	jmp    0x4089b3
40899c:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4089a2:	74 04                	je     0x4089a8
4089a4:	b1 64                	mov    $0x64,%cl
4089a6:	eb 0b                	jmp    0x4089b3
4089a8:	c0 e1 03             	shl    $0x3,%cl
4089ab:	f6 d1                	not    %cl
4089ad:	80 e1 20             	and    $0x20,%cl
4089b0:	80 c9 58             	or     $0x58,%cl
4089b3:	ff 75 1c             	push   0x1c(%ebp)
4089b6:	88 48 01             	mov    %cl,0x1(%eax)
4089b9:	c6 40 02 00          	movb   $0x0,0x2(%eax)
4089bd:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4089c1:	50                   	push   %eax
4089c2:	8d 44 24 28          	lea    0x28(%esp),%eax
4089c6:	6a 40                	push   $0x40
4089c8:	50                   	push   %eax
4089c9:	e8 62 df ff ff       	call   0x406930
4089ce:	50                   	push   %eax
4089cf:	8d 44 24 34          	lea    0x34(%esp),%eax
4089d3:	50                   	push   %eax
4089d4:	ff 75 18             	push   0x18(%ebp)
4089d7:	56                   	push   %esi
4089d8:	ff 75 10             	push   0x10(%ebp)
4089db:	ff 75 0c             	push   0xc(%ebp)
4089de:	57                   	push   %edi
4089df:	53                   	push   %ebx
4089e0:	e8 6b 06 00 00       	call   0x409050
4089e5:	8b 8c 24 94 00 00 00 	mov    0x94(%esp),%ecx
4089ec:	83 c4 30             	add    $0x30,%esp
4089ef:	8b c7                	mov    %edi,%eax
4089f1:	5f                   	pop    %edi
4089f2:	5e                   	pop    %esi
4089f3:	5b                   	pop    %ebx
4089f4:	33 cc                	xor    %esp,%ecx
4089f6:	e8 af 11 01 00       	call   0x419baa
4089fb:	8b e5                	mov    %ebp,%esp
4089fd:	5d                   	pop    %ebp
4089fe:	c2 18 00             	ret    $0x18
408a01:	cc                   	int3
408a02:	cc                   	int3
408a03:	cc                   	int3
408a04:	cc                   	int3
408a05:	cc                   	int3
408a06:	cc                   	int3
408a07:	cc                   	int3
408a08:	cc                   	int3
408a09:	cc                   	int3
408a0a:	cc                   	int3
408a0b:	cc                   	int3
408a0c:	cc                   	int3
408a0d:	cc                   	int3
408a0e:	cc                   	int3
408a0f:	cc                   	int3
408a10:	55                   	push   %ebp
408a11:	8b ec                	mov    %esp,%ebp
408a13:	6a ff                	push   $0xffffffff
408a15:	68 d5 be 43 00       	push   $0x43bed5
408a1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408a20:	50                   	push   %eax
408a21:	83 ec 50             	sub    $0x50,%esp
408a24:	a1 14 50 45 00       	mov    0x455014,%eax
408a29:	33 c5                	xor    %ebp,%eax
408a2b:	89 45 f0             	mov    %eax,-0x10(%ebp)
408a2e:	56                   	push   %esi
408a2f:	57                   	push   %edi
408a30:	50                   	push   %eax
408a31:	8d 45 f4             	lea    -0xc(%ebp),%eax
408a34:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408a3a:	8b c1                	mov    %ecx,%eax
408a3c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
408a3f:	8b 4d 14             	mov    0x14(%ebp),%ecx
408a42:	0f b7 55 18          	movzwl 0x18(%ebp),%edx
408a46:	8b 7d 08             	mov    0x8(%ebp),%edi
408a49:	89 7d bc             	mov    %edi,-0x44(%ebp)
408a4c:	f7 41 14 00 40 00 00 	testl  $0x4000,0x14(%ecx)
408a53:	89 4d c0             	mov    %ecx,-0x40(%ebp)
408a56:	89 55 cc             	mov    %edx,-0x34(%ebp)
408a59:	75 27                	jne    0x408a82
408a5b:	8b 30                	mov    (%eax),%esi
408a5d:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
408a61:	50                   	push   %eax
408a62:	52                   	push   %edx
408a63:	8b 76 24             	mov    0x24(%esi),%esi
408a66:	51                   	push   %ecx
408a67:	ff 75 10             	push   0x10(%ebp)
408a6a:	8b ce                	mov    %esi,%ecx
408a6c:	ff 75 0c             	push   0xc(%ebp)
408a6f:	57                   	push   %edi
408a70:	ff 15 5c e2 43 00    	call   *0x43e25c
408a76:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408a79:	ff d6                	call   *%esi
408a7b:	8b c7                	mov    %edi,%eax
408a7d:	e9 97 01 00 00       	jmp    0x408c19
408a82:	8b 41 30             	mov    0x30(%ecx),%eax
408a85:	8b 78 04             	mov    0x4(%eax),%edi
408a88:	89 7d c8             	mov    %edi,-0x38(%ebp)
408a8b:	8b 07                	mov    (%edi),%eax
408a8d:	8b 70 04             	mov    0x4(%eax),%esi
408a90:	8b ce                	mov    %esi,%ecx
408a92:	ff 15 5c e2 43 00    	call   *0x43e25c
408a98:	8b cf                	mov    %edi,%ecx
408a9a:	ff d6                	call   *%esi
408a9c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408a9f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408aa6:	50                   	push   %eax
408aa7:	e8 f4 18 00 00       	call   0x40a3a0
408aac:	8b f8                	mov    %eax,%edi
408aae:	83 c4 04             	add    $0x4,%esp
408ab1:	8b 45 c8             	mov    -0x38(%ebp),%eax
408ab4:	89 7d d0             	mov    %edi,-0x30(%ebp)
408ab7:	85 c0                	test   %eax,%eax
408ab9:	74 2d                	je     0x408ae8
408abb:	8b 10                	mov    (%eax),%edx
408abd:	8b 72 08             	mov    0x8(%edx),%esi
408ac0:	8b ce                	mov    %esi,%ecx
408ac2:	ff 15 5c e2 43 00    	call   *0x43e25c
408ac8:	8b 4d c8             	mov    -0x38(%ebp),%ecx
408acb:	ff d6                	call   *%esi
408acd:	8b f8                	mov    %eax,%edi
408acf:	85 ff                	test   %edi,%edi
408ad1:	74 12                	je     0x408ae5
408ad3:	8b 0f                	mov    (%edi),%ecx
408ad5:	6a 01                	push   $0x1
408ad7:	8b 31                	mov    (%ecx),%esi
408ad9:	8b ce                	mov    %esi,%ecx
408adb:	ff 15 5c e2 43 00    	call   *0x43e25c
408ae1:	8b cf                	mov    %edi,%ecx
408ae3:	ff d6                	call   *%esi
408ae5:	8b 7d d0             	mov    -0x30(%ebp),%edi
408ae8:	33 c0                	xor    %eax,%eax
408aea:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
408af1:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
408af8:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
408aff:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
408b03:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
408b07:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408b0a:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408b11:	8b 37                	mov    (%edi),%esi
408b13:	50                   	push   %eax
408b14:	74 05                	je     0x408b1b
408b16:	8b 76 1c             	mov    0x1c(%esi),%esi
408b19:	eb 03                	jmp    0x408b1e
408b1b:	8b 76 18             	mov    0x18(%esi),%esi
408b1e:	8b ce                	mov    %esi,%ecx
408b20:	ff 15 5c e2 43 00    	call   *0x43e25c
408b26:	8b cf                	mov    %edi,%ecx
408b28:	ff d6                	call   *%esi
408b2a:	0f 10 45 a4          	movups -0x5c(%ebp),%xmm0
408b2e:	8b 7d c0             	mov    -0x40(%ebp),%edi
408b31:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
408b35:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
408b39:	f3 0f 7e 45 b4       	movq   -0x4c(%ebp),%xmm0
408b3e:	8b 77 20             	mov    0x20(%edi),%esi
408b41:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
408b46:	8b 45 e8             	mov    -0x18(%ebp),%eax
408b49:	7c 0e                	jl     0x408b59
408b4b:	7f 04                	jg     0x408b51
408b4d:	85 f6                	test   %esi,%esi
408b4f:	74 08                	je     0x408b59
408b51:	3b f0                	cmp    %eax,%esi
408b53:	76 04                	jbe    0x408b59
408b55:	2b f0                	sub    %eax,%esi
408b57:	eb 02                	jmp    0x408b5b
408b59:	33 f6                	xor    %esi,%esi
408b5b:	8b 47 14             	mov    0x14(%edi),%eax
408b5e:	25 c0 01 00 00       	and    $0x1c0,%eax
408b63:	83 f8 40             	cmp    $0x40,%eax
408b66:	74 28                	je     0x408b90
408b68:	56                   	push   %esi
408b69:	ff 75 cc             	push   -0x34(%ebp)
408b6c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408b6f:	ff 75 10             	push   0x10(%ebp)
408b72:	ff 75 0c             	push   0xc(%ebp)
408b75:	50                   	push   %eax
408b76:	ff 75 d4             	push   -0x2c(%ebp)
408b79:	e8 a2 03 00 00       	call   0x408f20
408b7e:	83 c4 18             	add    $0x18,%esp
408b81:	33 f6                	xor    %esi,%esi
408b83:	8b 08                	mov    (%eax),%ecx
408b85:	8b 50 04             	mov    0x4(%eax),%edx
408b88:	89 4d 0c             	mov    %ecx,0xc(%ebp)
408b8b:	89 55 10             	mov    %edx,0x10(%ebp)
408b8e:	eb 06                	jmp    0x408b96
408b90:	8b 55 10             	mov    0x10(%ebp),%edx
408b93:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408b96:	ff 75 e8             	push   -0x18(%ebp)
408b99:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408b9d:	8d 45 d8             	lea    -0x28(%ebp),%eax
408ba0:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
408ba4:	50                   	push   %eax
408ba5:	52                   	push   %edx
408ba6:	51                   	push   %ecx
408ba7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
408baa:	50                   	push   %eax
408bab:	ff 75 d4             	push   -0x2c(%ebp)
408bae:	e8 fd 03 00 00       	call   0x408fb0
408bb3:	56                   	push   %esi
408bb4:	ff 75 cc             	push   -0x34(%ebp)
408bb7:	8b 75 bc             	mov    -0x44(%ebp),%esi
408bba:	8b 08                	mov    (%eax),%ecx
408bbc:	8b 40 04             	mov    0x4(%eax),%eax
408bbf:	50                   	push   %eax
408bc0:	51                   	push   %ecx
408bc1:	56                   	push   %esi
408bc2:	ff 75 d4             	push   -0x2c(%ebp)
408bc5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
408bc8:	89 45 10             	mov    %eax,0x10(%ebp)
408bcb:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
408bd2:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
408bd9:	e8 42 03 00 00       	call   0x408f20
408bde:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408be1:	83 c4 30             	add    $0x30,%esp
408be4:	83 f9 08             	cmp    $0x8,%ecx
408be7:	72 2e                	jb     0x408c17
408be9:	8b 55 d8             	mov    -0x28(%ebp),%edx
408bec:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408bf3:	8b c2                	mov    %edx,%eax
408bf5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408bfb:	72 10                	jb     0x408c0d
408bfd:	8b 50 fc             	mov    -0x4(%eax),%edx
408c00:	83 c1 23             	add    $0x23,%ecx
408c03:	2b c2                	sub    %edx,%eax
408c05:	83 c0 fc             	add    $0xfffffffc,%eax
408c08:	83 f8 1f             	cmp    $0x1f,%eax
408c0b:	77 29                	ja     0x408c36
408c0d:	51                   	push   %ecx
408c0e:	52                   	push   %edx
408c0f:	e8 a4 0f 01 00       	call   0x419bb8
408c14:	83 c4 08             	add    $0x8,%esp
408c17:	8b c6                	mov    %esi,%eax
408c19:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408c1c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408c23:	59                   	pop    %ecx
408c24:	5f                   	pop    %edi
408c25:	5e                   	pop    %esi
408c26:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408c29:	33 cd                	xor    %ebp,%ecx
408c2b:	e8 7a 0f 01 00       	call   0x419baa
408c30:	8b e5                	mov    %ebp,%esp
408c32:	5d                   	pop    %ebp
408c33:	c2 18 00             	ret    $0x18
408c36:	e8 58 6d 01 00       	call   0x41f993
408c3b:	cc                   	int3
408c3c:	cc                   	int3
408c3d:	cc                   	int3
408c3e:	cc                   	int3
408c3f:	cc                   	int3
408c40:	55                   	push   %ebp
408c41:	8b ec                	mov    %esp,%ebp
408c43:	6a ff                	push   $0xffffffff