45690f:	cc                   	int3
456910:	8b 41 04             	mov    0x4(%ecx),%eax
456913:	85 c0                	test   %eax,%eax
456915:	74 0b                	je     0x456922
456917:	6a 10                	push   $0x10
456919:	50                   	push   %eax
45691a:	e8 36 a9 17 00       	call   0x5d1255
45691f:	83 c4 08             	add    $0x8,%esp
456922:	c3                   	ret
456923:	cc                   	int3
456924:	cc                   	int3
456925:	cc                   	int3
456926:	cc                   	int3
456927:	cc                   	int3
456928:	cc                   	int3
456929:	cc                   	int3
45692a:	cc                   	int3
45692b:	cc                   	int3
45692c:	cc                   	int3
45692d:	cc                   	int3
45692e:	cc                   	int3
45692f:	cc                   	int3
456930:	57                   	push   %edi
456931:	8b f9                	mov    %ecx,%edi
456933:	8b 57 10             	mov    0x10(%edi),%edx
456936:	8b 47 0c             	mov    0xc(%edi),%eax
456939:	2b d0                	sub    %eax,%edx
45693b:	83 e2 fc             	and    $0xfffffffc,%edx
45693e:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
456944:	72 12                	jb     0x456958
456946:	8b 48 fc             	mov    -0x4(%eax),%ecx
456949:	83 c2 23             	add    $0x23,%edx
45694c:	2b c1                	sub    %ecx,%eax
45694e:	83 c0 fc             	add    $0xfffffffc,%eax
456951:	83 f8 1f             	cmp    $0x1f,%eax
456954:	77 5d                	ja     0x4569b3
456956:	8b c1                	mov    %ecx,%eax
456958:	52                   	push   %edx
456959:	50                   	push   %eax
45695a:	e8 f6 a8 17 00       	call   0x5d1255
45695f:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
456966:	83 c4 08             	add    $0x8,%esp
456969:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
456970:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
456977:	8b 4f 04             	mov    0x4(%edi),%ecx
45697a:	8b 41 04             	mov    0x4(%ecx),%eax
45697d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
456983:	8b 01                	mov    (%ecx),%eax
456985:	85 c0                	test   %eax,%eax
456987:	74 1b                	je     0x4569a4
456989:	56                   	push   %esi
45698a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
456990:	8b 30                	mov    (%eax),%esi
456992:	6a 10                	push   $0x10
456994:	50                   	push   %eax
456995:	e8 bb a8 17 00       	call   0x5d1255
45699a:	83 c4 08             	add    $0x8,%esp
45699d:	8b c6                	mov    %esi,%eax
45699f:	85 f6                	test   %esi,%esi
4569a1:	75 ed                	jne    0x456990
4569a3:	5e                   	pop    %esi
4569a4:	6a 10                	push   $0x10
4569a6:	ff 77 04             	push   0x4(%edi)
4569a9:	e8 a7 a8 17 00       	call   0x5d1255
4569ae:	83 c4 08             	add    $0x8,%esp
4569b1:	5f                   	pop    %edi
4569b2:	c3                   	ret
4569b3:	e8 38 f8 17 00       	call   0x5d61f0
4569b8:	cc                   	int3
4569b9:	cc                   	int3
4569ba:	cc                   	int3
4569bb:	cc                   	int3
4569bc:	cc                   	int3
4569bd:	cc                   	int3
4569be:	cc                   	int3
4569bf:	cc                   	int3
4569c0:	57                   	push   %edi
4569c1:	8b f9                	mov    %ecx,%edi
4569c3:	8b 57 10             	mov    0x10(%edi),%edx
4569c6:	8b 47 0c             	mov    0xc(%edi),%eax
4569c9:	2b d0                	sub    %eax,%edx
4569cb:	83 e2 fc             	and    $0xfffffffc,%edx
4569ce:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4569d4:	72 12                	jb     0x4569e8
4569d6:	8b 48 fc             	mov    -0x4(%eax),%ecx
4569d9:	83 c2 23             	add    $0x23,%edx
4569dc:	2b c1                	sub    %ecx,%eax
4569de:	83 c0 fc             	add    $0xfffffffc,%eax
4569e1:	83 f8 1f             	cmp    $0x1f,%eax
4569e4:	77 5d                	ja     0x456a43
4569e6:	8b c1                	mov    %ecx,%eax
4569e8:	52                   	push   %edx
4569e9:	50                   	push   %eax
4569ea:	e8 66 a8 17 00       	call   0x5d1255
4569ef:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
4569f6:	83 c4 08             	add    $0x8,%esp
4569f9:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
456a00:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
456a07:	8b 4f 04             	mov    0x4(%edi),%ecx
456a0a:	8b 41 04             	mov    0x4(%ecx),%eax
456a0d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
456a13:	8b 01                	mov    (%ecx),%eax
456a15:	85 c0                	test   %eax,%eax
456a17:	74 1b                	je     0x456a34
456a19:	56                   	push   %esi
456a1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
456a20:	8b 30                	mov    (%eax),%esi
456a22:	6a 14                	push   $0x14
456a24:	50                   	push   %eax
456a25:	e8 2b a8 17 00       	call   0x5d1255
456a2a:	83 c4 08             	add    $0x8,%esp
456a2d:	8b c6                	mov    %esi,%eax
456a2f:	85 f6                	test   %esi,%esi
456a31:	75 ed                	jne    0x456a20
456a33:	5e                   	pop    %esi
456a34:	6a 14                	push   $0x14
456a36:	ff 77 04             	push   0x4(%edi)
456a39:	e8 17 a8 17 00       	call   0x5d1255
456a3e:	83 c4 08             	add    $0x8,%esp
456a41:	5f                   	pop    %edi
456a42:	c3                   	ret
456a43:	e8 a8 f7 17 00       	call   0x5d61f0
456a48:	cc                   	int3
456a49:	cc                   	int3
456a4a:	cc                   	int3
456a4b:	cc                   	int3
456a4c:	cc                   	int3
456a4d:	cc                   	int3
456a4e:	cc                   	int3
456a4f:	cc                   	int3
456a50:	56                   	push   %esi
456a51:	8b f1                	mov    %ecx,%esi
456a53:	8b 56 04             	mov    0x4(%esi),%edx
456a56:	8b 06                	mov    (%esi),%eax
456a58:	2b d0                	sub    %eax,%edx
456a5a:	83 e2 fc             	and    $0xfffffffc,%edx
456a5d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
456a63:	72 12                	jb     0x456a77
456a65:	8b 48 fc             	mov    -0x4(%eax),%ecx
456a68:	83 c2 23             	add    $0x23,%edx
456a6b:	2b c1                	sub    %ecx,%eax
456a6d:	83 c0 fc             	add    $0xfffffffc,%eax
456a70:	83 f8 1f             	cmp    $0x1f,%eax
456a73:	77 22                	ja     0x456a97
456a75:	8b c1                	mov    %ecx,%eax
456a77:	52                   	push   %edx
456a78:	50                   	push   %eax
456a79:	e8 d7 a7 17 00       	call   0x5d1255
456a7e:	83 c4 08             	add    $0x8,%esp
456a81:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
456a87:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
456a8e:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
456a95:	5e                   	pop    %esi
456a96:	c3                   	ret
456a97:	e8 54 f7 17 00       	call   0x5d61f0
456a9c:	cc                   	int3
456a9d:	cc                   	int3
456a9e:	cc                   	int3
456a9f:	cc                   	int3
456aa0:	56                   	push   %esi
456aa1:	8b f1                	mov    %ecx,%esi
456aa3:	8b 4e 14             	mov    0x14(%esi),%ecx
456aa6:	83 f9 10             	cmp    $0x10,%ecx
456aa9:	72 27                	jb     0x456ad2
456aab:	8b 06                	mov    (%esi),%eax
456aad:	41                   	inc    %ecx
456aae:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
456ab4:	72 12                	jb     0x456ac8
456ab6:	8b 50 fc             	mov    -0x4(%eax),%edx
456ab9:	83 c1 23             	add    $0x23,%ecx
456abc:	2b c2                	sub    %edx,%eax
456abe:	83 c0 fc             	add    $0xfffffffc,%eax
456ac1:	83 f8 1f             	cmp    $0x1f,%eax
456ac4:	77 1f                	ja     0x456ae5
456ac6:	8b c2                	mov    %edx,%eax
456ac8:	51                   	push   %ecx
456ac9:	50                   	push   %eax
456aca:	e8 86 a7 17 00       	call   0x5d1255
456acf:	83 c4 08             	add    $0x8,%esp
456ad2:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
456ad9:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
456ae0:	c6 06 00             	movb   $0x0,(%esi)
456ae3:	5e                   	pop    %esi
456ae4:	c3                   	ret
456ae5:	e8 06 f7 17 00       	call   0x5d61f0
456aea:	cc                   	int3
456aeb:	cc                   	int3
456aec:	cc                   	int3
456aed:	cc                   	int3
456aee:	cc                   	int3
456aef:	cc                   	int3
456af0:	57                   	push   %edi
456af1:	8b f9                	mov    %ecx,%edi
456af3:	8b 17                	mov    (%edi),%edx
456af5:	8b 42 04             	mov    0x4(%edx),%eax
456af8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
456afe:	8b 02                	mov    (%edx),%eax
456b00:	85 c0                	test   %eax,%eax
456b02:	74 15                	je     0x456b19
456b04:	56                   	push   %esi
456b05:	8b 30                	mov    (%eax),%esi
456b07:	6a 14                	push   $0x14
456b09:	50                   	push   %eax
456b0a:	e8 46 a7 17 00       	call   0x5d1255
456b0f:	83 c4 08             	add    $0x8,%esp
456b12:	8b c6                	mov    %esi,%eax
456b14:	85 f6                	test   %esi,%esi
456b16:	75 ed                	jne    0x456b05
456b18:	5e                   	pop    %esi
456b19:	6a 14                	push   $0x14
456b1b:	ff 37                	push   (%edi)
456b1d:	e8 33 a7 17 00       	call   0x5d1255
456b22:	83 c4 08             	add    $0x8,%esp
456b25:	5f                   	pop    %edi
456b26:	c3                   	ret
456b27:	cc                   	int3
456b28:	cc                   	int3
456b29:	cc                   	int3
456b2a:	cc                   	int3
456b2b:	cc                   	int3
456b2c:	cc                   	int3
456b2d:	cc                   	int3
456b2e:	cc                   	int3
456b2f:	cc                   	int3
456b30:	57                   	push   %edi
456b31:	8b f9                	mov    %ecx,%edi
456b33:	8b 17                	mov    (%edi),%edx
456b35:	8b 42 04             	mov    0x4(%edx),%eax
456b38:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
456b3e:	8b 02                	mov    (%edx),%eax
456b40:	85 c0                	test   %eax,%eax
456b42:	74 15                	je     0x456b59
456b44:	56                   	push   %esi
456b45:	8b 30                	mov    (%eax),%esi
456b47:	6a 10                	push   $0x10
456b49:	50                   	push   %eax
456b4a:	e8 06 a7 17 00       	call   0x5d1255
456b4f:	83 c4 08             	add    $0x8,%esp
456b52:	8b c6                	mov    %esi,%eax
456b54:	85 f6                	test   %esi,%esi
456b56:	75 ed                	jne    0x456b45
456b58:	5e                   	pop    %esi
456b59:	6a 10                	push   $0x10
456b5b:	ff 37                	push   (%edi)
456b5d:	e8 f3 a6 17 00       	call   0x5d1255
456b62:	83 c4 08             	add    $0x8,%esp
456b65:	5f                   	pop    %edi
456b66:	c3                   	ret
456b67:	cc                   	int3
456b68:	cc                   	int3
456b69:	cc                   	int3
456b6a:	cc                   	int3
456b6b:	cc                   	int3
456b6c:	cc                   	int3
456b6d:	cc                   	int3
456b6e:	cc                   	int3
456b6f:	cc                   	int3
456b70:	e9 4b fe ff ff       	jmp    0x4569c0
456b75:	cc                   	int3
456b76:	cc                   	int3
456b77:	cc                   	int3
456b78:	cc                   	int3
456b79:	cc                   	int3
456b7a:	cc                   	int3
456b7b:	cc                   	int3
456b7c:	cc                   	int3
456b7d:	cc                   	int3
456b7e:	cc                   	int3
456b7f:	cc                   	int3
456b80:	56                   	push   %esi
456b81:	57                   	push   %edi
456b82:	8b f9                	mov    %ecx,%edi
456b84:	8b 37                	mov    (%edi),%esi
456b86:	85 f6                	test   %esi,%esi
456b88:	0f 84 a5 00 00 00    	je     0x456c33
456b8e:	53                   	push   %ebx
456b8f:	8b 5f 04             	mov    0x4(%edi),%ebx
456b92:	3b f3                	cmp    %ebx,%esi
456b94:	74 49                	je     0x456bdf
456b96:	8b 4e 14             	mov    0x14(%esi),%ecx
456b99:	83 f9 10             	cmp    $0x10,%ecx
456b9c:	72 27                	jb     0x456bc5
456b9e:	8b 06                	mov    (%esi),%eax
456ba0:	41                   	inc    %ecx
456ba1:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
456ba7:	72 12                	jb     0x456bbb
456ba9:	8b 50 fc             	mov    -0x4(%eax),%edx
456bac:	83 c1 23             	add    $0x23,%ecx
456baf:	2b c2                	sub    %edx,%eax
456bb1:	83 c0 fc             	add    $0xfffffffc,%eax
456bb4:	83 f8 1f             	cmp    $0x1f,%eax
456bb7:	77 7d                	ja     0x456c36
456bb9:	8b c2                	mov    %edx,%eax
456bbb:	51                   	push   %ecx
456bbc:	50                   	push   %eax
456bbd:	e8 93 a6 17 00       	call   0x5d1255
456bc2:	83 c4 08             	add    $0x8,%esp
456bc5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
456bcc:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
456bd3:	c6 06 00             	movb   $0x0,(%esi)
456bd6:	83 c6 18             	add    $0x18,%esi
456bd9:	3b f3                	cmp    %ebx,%esi
456bdb:	75 b9                	jne    0x456b96
456bdd:	8b 37                	mov    (%edi),%esi
456bdf:	8b 4f 08             	mov    0x8(%edi),%ecx
456be2:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
456be7:	2b ce                	sub    %esi,%ecx
456be9:	f7 e9                	imul   %ecx
456beb:	5b                   	pop    %ebx
456bec:	c1 fa 02             	sar    $0x2,%edx
456bef:	8b c2                	mov    %edx,%eax
456bf1:	c1 e8 1f             	shr    $0x1f,%eax
456bf4:	03 c2                	add    %edx,%eax
456bf6:	8d 04 40             	lea    (%eax,%eax,2),%eax
456bf9:	c1 e0 03             	shl    $0x3,%eax
456bfc:	3d 00 10 00 00       	cmp    $0x1000,%eax
456c01:	72 12                	jb     0x456c15
456c03:	8b 4e fc             	mov    -0x4(%esi),%ecx
456c06:	83 c0 23             	add    $0x23,%eax
456c09:	2b f1                	sub    %ecx,%esi
456c0b:	83 c6 fc             	add    $0xfffffffc,%esi
456c0e:	83 fe 1f             	cmp    $0x1f,%esi
456c11:	77 23                	ja     0x456c36
456c13:	8b f1                	mov    %ecx,%esi
456c15:	50                   	push   %eax
456c16:	56                   	push   %esi
456c17:	e8 39 a6 17 00       	call   0x5d1255
456c1c:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
456c22:	83 c4 08             	add    $0x8,%esp
456c25:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
456c2c:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
456c33:	5f                   	pop    %edi
456c34:	5e                   	pop    %esi
456c35:	c3                   	ret
456c36:	e8 b5 f5 17 00       	call   0x5d61f0
456c3b:	cc                   	int3
456c3c:	cc                   	int3
456c3d:	cc                   	int3
456c3e:	cc                   	int3
456c3f:	cc                   	int3
456c40:	c7 01 44 5e 60 00    	movl   $0x605e44,(%ecx)
456c46:	c3                   	ret
456c47:	cc                   	int3
456c48:	cc                   	int3
456c49:	cc                   	int3
456c4a:	cc                   	int3
456c4b:	cc                   	int3
456c4c:	cc                   	int3
456c4d:	cc                   	int3
456c4e:	cc                   	int3