4598a9:	50                   	push   %eax
4598aa:	e8 6e f3 00 00       	call   0x468c1d
4598af:	8b f8                	mov    %eax,%edi
4598b1:	85 ff                	test   %edi,%edi
4598b3:	0f 84 e9 01 00 00    	je     0x459aa2
4598b9:	33 c9                	xor    %ecx,%ecx
4598bb:	ba 04 00 00 00       	mov    $0x4,%edx
4598c0:	f7 e2                	mul    %edx
4598c2:	0f 90 c1             	seto   %cl
4598c5:	f7 d9                	neg    %ecx
4598c7:	0b c8                	or     %eax,%ecx
4598c9:	51                   	push   %ecx
4598ca:	e8 b1 77 18 00       	call   0x5e1080
4598cf:	8b d8                	mov    %eax,%ebx
4598d1:	83 c4 04             	add    $0x4,%esp
4598d4:	85 db                	test   %ebx,%ebx
4598d6:	0f 84 a9 01 00 00    	je     0x459a85
4598dc:	83 7d e0 08          	cmpl   $0x8,-0x20(%ebp)
4598e0:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4598e3:	53                   	push   %ebx
4598e4:	0f 43 4d cc          	cmovae -0x34(%ebp),%ecx
4598e8:	57                   	push   %edi
4598e9:	ff 75 e4             	push   -0x1c(%ebp)
4598ec:	51                   	push   %ecx
4598ed:	e8 31 f3 00 00       	call   0x468c23
4598f2:	85 c0                	test   %eax,%eax
4598f4:	0f 84 5c 01 00 00    	je     0x459a56
4598fa:	6a 00                	push   $0x0
4598fc:	8d 45 c8             	lea    -0x38(%ebp),%eax
4598ff:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
459906:	50                   	push   %eax
459907:	68 5c ee 68 00       	push   $0x68ee5c
45990c:	53                   	push   %ebx
45990d:	e8 17 f3 00 00       	call   0x468c29
459912:	85 c0                	test   %eax,%eax
459914:	0f 84 60 01 00 00    	je     0x459a7a
45991a:	8b 45 c8             	mov    -0x38(%ebp),%eax
45991d:	85 c0                	test   %eax,%eax
45991f:	0f 84 55 01 00 00    	je     0x459a7a
459925:	0f b7 48 0c          	movzwl 0xc(%eax),%ecx
459929:	0f b7 78 08          	movzwl 0x8(%eax),%edi
45992d:	89 4d c0             	mov    %ecx,-0x40(%ebp)
459930:	0f b7 48 0e          	movzwl 0xe(%eax),%ecx
459934:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
459937:	0f b7 48 0a          	movzwl 0xa(%eax),%ecx
45993b:	8b c6                	mov    %esi,%eax
45993d:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
459944:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
459948:	72 02                	jb     0x45994c
45994a:	8b 06                	mov    (%esi),%eax
45994c:	51                   	push   %ecx
45994d:	c6 00 00             	movb   $0x0,(%eax)
459950:	0f 57 c0             	xorps  %xmm0,%xmm0
459953:	68 14 ee 68 00       	push   $0x68ee14
459958:	8d 45 e8             	lea    -0x18(%ebp),%eax
45995b:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
459960:	6a 08                	push   $0x8
459962:	50                   	push   %eax
459963:	e8 a8 ea 00 00       	call   0x468410
459968:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45996b:	83 c4 10             	add    $0x10,%esp
45996e:	8d 51 01             	lea    0x1(%ecx),%edx
459971:	8a 01                	mov    (%ecx),%al
459973:	41                   	inc    %ecx
459974:	84 c0                	test   %al,%al
459976:	75 f9                	jne    0x459971
459978:	2b ca                	sub    %edx,%ecx
45997a:	8d 45 e8             	lea    -0x18(%ebp),%eax
45997d:	51                   	push   %ecx
45997e:	50                   	push   %eax
45997f:	8b ce                	mov    %esi,%ecx
459981:	e8 3a b7 fe ff       	call   0x4450c0
459986:	6a 01                	push   $0x1
459988:	68 ac c4 68 00       	push   $0x68c4ac
45998d:	8b ce                	mov    %esi,%ecx
45998f:	e8 2c b7 fe ff       	call   0x4450c0
459994:	57                   	push   %edi
459995:	68 14 ee 68 00       	push   $0x68ee14
45999a:	8d 45 e8             	lea    -0x18(%ebp),%eax
45999d:	6a 08                	push   $0x8
45999f:	50                   	push   %eax
4599a0:	e8 6b ea 00 00       	call   0x468410
4599a5:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4599a8:	83 c4 10             	add    $0x10,%esp
4599ab:	8d 51 01             	lea    0x1(%ecx),%edx
4599ae:	66 90                	xchg   %ax,%ax
4599b0:	8a 01                	mov    (%ecx),%al
4599b2:	41                   	inc    %ecx
4599b3:	84 c0                	test   %al,%al
4599b5:	75 f9                	jne    0x4599b0
4599b7:	2b ca                	sub    %edx,%ecx
4599b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4599bc:	51                   	push   %ecx
4599bd:	50                   	push   %eax
4599be:	8b ce                	mov    %esi,%ecx
4599c0:	e8 fb b6 fe ff       	call   0x4450c0
4599c5:	6a 01                	push   $0x1
4599c7:	68 ac c4 68 00       	push   $0x68c4ac
4599cc:	8b ce                	mov    %esi,%ecx
4599ce:	e8 ed b6 fe ff       	call   0x4450c0
4599d3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4599d6:	0f b7 c1             	movzwl %cx,%eax
4599d9:	50                   	push   %eax
4599da:	68 14 ee 68 00       	push   $0x68ee14
4599df:	8d 45 e8             	lea    -0x18(%ebp),%eax
4599e2:	6a 08                	push   $0x8
4599e4:	50                   	push   %eax
4599e5:	e8 26 ea 00 00       	call   0x468410
4599ea:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4599ed:	83 c4 10             	add    $0x10,%esp
4599f0:	8d 51 01             	lea    0x1(%ecx),%edx
4599f3:	8a 01                	mov    (%ecx),%al
4599f5:	41                   	inc    %ecx
4599f6:	84 c0                	test   %al,%al
4599f8:	75 f9                	jne    0x4599f3
4599fa:	2b ca                	sub    %edx,%ecx
4599fc:	8d 45 e8             	lea    -0x18(%ebp),%eax
4599ff:	51                   	push   %ecx
459a00:	50                   	push   %eax
459a01:	8b ce                	mov    %esi,%ecx
459a03:	e8 b8 b6 fe ff       	call   0x4450c0
459a08:	6a 01                	push   $0x1
459a0a:	68 ac c4 68 00       	push   $0x68c4ac
459a0f:	8b ce                	mov    %esi,%ecx
459a11:	e8 aa b6 fe ff       	call   0x4450c0
459a16:	8b 4d c0             	mov    -0x40(%ebp),%ecx
459a19:	0f b7 c1             	movzwl %cx,%eax
459a1c:	50                   	push   %eax
459a1d:	68 14 ee 68 00       	push   $0x68ee14
459a22:	8d 45 e8             	lea    -0x18(%ebp),%eax
459a25:	6a 08                	push   $0x8
459a27:	50                   	push   %eax
459a28:	e8 e3 e9 00 00       	call   0x468410
459a2d:	8d 55 e8             	lea    -0x18(%ebp),%edx
459a30:	83 c4 10             	add    $0x10,%esp
459a33:	8d 4a 01             	lea    0x1(%edx),%ecx
459a36:	8a 02                	mov    (%edx),%al
459a38:	42                   	inc    %edx
459a39:	84 c0                	test   %al,%al
459a3b:	75 f9                	jne    0x459a36
459a3d:	2b d1                	sub    %ecx,%edx
459a3f:	8d 45 e8             	lea    -0x18(%ebp),%eax
459a42:	52                   	push   %edx
459a43:	50                   	push   %eax
459a44:	8b ce                	mov    %esi,%ecx
459a46:	e8 75 b6 fe ff       	call   0x4450c0
459a4b:	53                   	push   %ebx
459a4c:	e8 38 76 18 00       	call   0x5e1089
459a51:	83 c4 04             	add    $0x4,%esp
459a54:	eb 4c                	jmp    0x459aa2
459a56:	ff 15 e0 21 68 00    	call   *0x6821e0
459a5c:	50                   	push   %eax
459a5d:	68 60 ee 68 00       	push   $0x68ee60
459a62:	6a 00                	push   $0x0
459a64:	6a 02                	push   $0x2
459a66:	ff 35 28 f2 70 00    	push   0x70f228
459a6c:	ff 35 cc d4 72 00    	push   0x72d4cc
459a72:	e8 b9 36 03 00       	call   0x48d130
459a77:	83 c4 18             	add    $0x18,%esp
459a7a:	53                   	push   %ebx
459a7b:	e8 09 76 18 00       	call   0x5e1089
459a80:	83 c4 04             	add    $0x4,%esp
459a83:	eb 1d                	jmp    0x459aa2
459a85:	68 88 ee 68 00       	push   $0x68ee88
459a8a:	6a 00                	push   $0x0
459a8c:	6a 02                	push   $0x2
459a8e:	ff 35 28 f2 70 00    	push   0x70f228
459a94:	ff 35 cc d4 72 00    	push   0x72d4cc
459a9a:	e8 91 36 03 00       	call   0x48d130
459a9f:	83 c4 14             	add    $0x14,%esp
459aa2:	8d 4d cc             	lea    -0x34(%ebp),%ecx
459aa5:	e8 16 eb fd ff       	call   0x4385c0
459aaa:	8b 55 1c             	mov    0x1c(%ebp),%edx
459aad:	83 fa 10             	cmp    $0x10,%edx
459ab0:	72 28                	jb     0x459ada
459ab2:	8b 4d 08             	mov    0x8(%ebp),%ecx
459ab5:	42                   	inc    %edx
459ab6:	8b c1                	mov    %ecx,%eax
459ab8:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
459abe:	72 10                	jb     0x459ad0
459ac0:	8b 49 fc             	mov    -0x4(%ecx),%ecx
459ac3:	83 c2 23             	add    $0x23,%edx
459ac6:	2b c1                	sub    %ecx,%eax
459ac8:	83 c0 fc             	add    $0xfffffffc,%eax
459acb:	83 f8 1f             	cmp    $0x1f,%eax
459ace:	77 26                	ja     0x459af6
459ad0:	52                   	push   %edx
459ad1:	51                   	push   %ecx
459ad2:	e8 9b 75 18 00       	call   0x5e1072
459ad7:	83 c4 08             	add    $0x8,%esp
459ada:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459add:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
459ae4:	59                   	pop    %ecx
459ae5:	5f                   	pop    %edi
459ae6:	5e                   	pop    %esi
459ae7:	5b                   	pop    %ebx
459ae8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
459aeb:	33 cd                	xor    %ebp,%ecx
459aed:	e8 e8 79 18 00       	call   0x5e14da
459af2:	8b e5                	mov    %ebp,%esp
459af4:	5d                   	pop    %ebp
459af5:	c3                   	ret
459af6:	e8 34 34 19 00       	call   0x5ecf2f
459afb:	cc                   	int3
459afc:	cc                   	int3
459afd:	cc                   	int3
459afe:	cc                   	int3
459aff:	cc                   	int3
459b00:	55                   	push   %ebp
459b01:	8b ec                	mov    %esp,%ebp
459b03:	6a ff                	push   $0xffffffff
459b05:	68 40 fc 64 00       	push   $0x64fc40
459b0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
459b10:	50                   	push   %eax
459b11:	83 ec 28             	sub    $0x28,%esp
459b14:	a1 d4 89 72 00       	mov    0x7289d4,%eax
459b19:	33 c5                	xor    %ebp,%eax
459b1b:	89 45 f0             	mov    %eax,-0x10(%ebp)
459b1e:	53                   	push   %ebx
459b1f:	56                   	push   %esi
459b20:	57                   	push   %edi
459b21:	50                   	push   %eax
459b22:	8d 45 f4             	lea    -0xc(%ebp),%eax
459b25:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
459b2b:	8b 7d 18             	mov    0x18(%ebp),%edi
459b2e:	0f 57 c0             	xorps  %xmm0,%xmm0
459b31:	8b 5d 14             	mov    0x14(%ebp),%ebx
459b34:	66 8b 45 1c          	mov    0x1c(%ebp),%ax
459b38:	8b 55 10             	mov    0x10(%ebp),%edx
459b3b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459b3e:	8b 75 08             	mov    0x8(%ebp),%esi
459b41:	66 89 07             	mov    %ax,(%edi)
459b44:	66 89 03             	mov    %ax,(%ebx)
459b47:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
459b4c:	66 89 02             	mov    %ax,(%edx)
459b4f:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
459b56:	89 4d dc             	mov    %ecx,-0x24(%ebp)
459b59:	89 55 d8             	mov    %edx,-0x28(%ebp)
459b5c:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
459b5f:	89 7d d0             	mov    %edi,-0x30(%ebp)
459b62:	66 89 01             	mov    %ax,(%ecx)
459b65:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
459b6c:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
459b73:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
459b7a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
459b7d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
459b84:	50                   	push   %eax
459b85:	83 ec 18             	sub    $0x18,%esp
459b88:	8b cc                	mov    %esp,%ecx
459b8a:	89 65 e0             	mov    %esp,-0x20(%ebp)
459b8d:	6a 01                	push   $0x1
459b8f:	68 ac c4 68 00       	push   $0x68c4ac
459b94:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
459b9b:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
459ba2:	c6 01 00             	movb   $0x0,(%ecx)
459ba5:	e8 96 b6 fe ff       	call   0x445240
459baa:	83 ec 18             	sub    $0x18,%esp
459bad:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
459bb1:	8b cc                	mov    %esp,%ecx
459bb3:	56                   	push   %esi
459bb4:	e8 e7 31 fe ff       	call   0x43cda0
459bb9:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
459bbd:	e8 2e ef ff ff       	call   0x458af0
459bc2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
459bc5:	83 c4 34             	add    $0x34,%esp
459bc8:	8b 5d e8             	mov    -0x18(%ebp),%ebx
459bcb:	3b f3                	cmp    %ebx,%esi
459bcd:	0f 84 1a 01 00 00    	je     0x459ced
459bd3:	8b cb                	mov    %ebx,%ecx
459bd5:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
459bda:	2b ce                	sub    %esi,%ecx
459bdc:	f7 e9                	imul   %ecx
459bde:	c1 fa 02             	sar    $0x2,%edx
459be1:	8b fa                	mov    %edx,%edi
459be3:	c1 ef 1f             	shr    $0x1f,%edi
459be6:	03 fa                	add    %edx,%edi
459be8:	89 7d e0             	mov    %edi,-0x20(%ebp)
459beb:	bf 00 00 00 00       	mov    $0x0,%edi
459bf0:	0f 84 1a 01 00 00    	je     0x459d10
459bf6:	8b 45 e0             	mov    -0x20(%ebp),%eax
459bf9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
459c00:	83 ff 03             	cmp    $0x3,%edi
459c03:	0f 87 d9 00 00 00    	ja     0x459ce2
459c09:	ff 24 bd d4 9d 45 00 	jmp    *0x459dd4(,%edi,4)
459c10:	2b de                	sub    %esi,%ebx
459c12:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
459c17:	f7 eb                	imul   %ebx
459c19:	c1 fa 02             	sar    $0x2,%edx
459c1c:	8b c2                	mov    %edx,%eax
459c1e:	c1 e8 1f             	shr    $0x1f,%eax
459c21:	03 c2                	add    %edx,%eax
459c23:	0f 84 a1 01 00 00    	je     0x459dca
459c29:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
459c2d:	72 02                	jb     0x459c31
459c2f:	8b 36                	mov    (%esi),%esi
459c31:	56                   	push   %esi
459c32:	e8 9c 41 19 00       	call   0x5eddd3
459c37:	8b 4d dc             	mov    -0x24(%ebp),%ecx
459c3a:	e9 94 00 00 00       	jmp    0x459cd3
459c3f:	2b de                	sub    %esi,%ebx
459c41:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
459c46:	f7 eb                	imul   %ebx
459c48:	c1 fa 02             	sar    $0x2,%edx
459c4b:	8b c2                	mov    %edx,%eax
459c4d:	c1 e8 1f             	shr    $0x1f,%eax
459c50:	03 c2                	add    %edx,%eax
459c52:	83 f8 01             	cmp    $0x1,%eax
459c55:	0f 86 6f 01 00 00    	jbe    0x459dca
459c5b:	83 c6 18             	add    $0x18,%esi
459c5e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
459c62:	72 02                	jb     0x459c66
459c64:	8b 36                	mov    (%esi),%esi
459c66:	56                   	push   %esi
459c67:	e8 67 41 19 00       	call   0x5eddd3
459c6c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
459c6f:	eb 62                	jmp    0x459cd3
459c71:	2b de                	sub    %esi,%ebx
459c73:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
459c78:	f7 eb                	imul   %ebx
459c7a:	c1 fa 02             	sar    $0x2,%edx
459c7d:	8b c2                	mov    %edx,%eax
459c7f:	c1 e8 1f             	shr    $0x1f,%eax
459c82:	03 c2                	add    %edx,%eax
459c84:	83 f8 02             	cmp    $0x2,%eax
459c87:	0f 86 3d 01 00 00    	jbe    0x459dca
459c8d:	83 c6 30             	add    $0x30,%esi
459c90:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
459c94:	72 02                	jb     0x459c98
459c96:	8b 36                	mov    (%esi),%esi
459c98:	56                   	push   %esi
459c99:	e8 35 41 19 00       	call   0x5eddd3
459c9e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
459ca1:	eb 30                	jmp    0x459cd3
459ca3:	2b de                	sub    %esi,%ebx
459ca5:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
459caa:	f7 eb                	imul   %ebx
459cac:	c1 fa 02             	sar    $0x2,%edx
459caf:	8b c2                	mov    %edx,%eax
459cb1:	c1 e8 1f             	shr    $0x1f,%eax
459cb4:	03 c2                	add    %edx,%eax
459cb6:	83 f8 03             	cmp    $0x3,%eax
459cb9:	0f 86 0b 01 00 00    	jbe    0x459dca
459cbf:	83 c6 48             	add    $0x48,%esi
459cc2:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
459cc6:	72 02                	jb     0x459cca
459cc8:	8b 36                	mov    (%esi),%esi
459cca:	56                   	push   %esi
459ccb:	e8 03 41 19 00       	call   0x5eddd3
459cd0:	8b 4d d0             	mov    -0x30(%ebp),%ecx
459cd3:	8b 75 e4             	mov    -0x1c(%ebp),%esi