45f946:	c1 e2 02             	shl    $0x2,%edx
45f949:	89 55 c4             	mov    %edx,-0x3c(%ebp)
45f94c:	0f 1f 40 00          	nopl   0x0(%eax)
45f950:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45f953:	03 d0                	add    %eax,%edx
45f955:	8b 75 b8             	mov    -0x48(%ebp),%esi
45f958:	03 f8                	add    %eax,%edi
45f95a:	03 f0                	add    %eax,%esi
45f95c:	8b 03                	mov    (%ebx),%eax
45f95e:	56                   	push   %esi
45f95f:	52                   	push   %edx
45f960:	8b 70 0c             	mov    0xc(%eax),%esi
45f963:	8b ce                	mov    %esi,%ecx
45f965:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45f96b:	8b cb                	mov    %ebx,%ecx
45f96d:	ff d6                	call   *%esi
45f96f:	50                   	push   %eax
45f970:	8b cf                	mov    %edi,%ecx
45f972:	e8 b9 ec fe ff       	call   0x44e630
45f977:	8b 4d bc             	mov    -0x44(%ebp),%ecx
45f97a:	8b 7d c0             	mov    -0x40(%ebp),%edi
45f97d:	8b 55 c4             	mov    -0x3c(%ebp),%edx
45f980:	8b 75 c8             	mov    -0x38(%ebp),%esi
45f983:	03 ce                	add    %esi,%ecx
45f985:	03 7d b8             	add    -0x48(%ebp),%edi
45f988:	03 55 b8             	add    -0x48(%ebp),%edx
45f98b:	8b 45 e8             	mov    -0x18(%ebp),%eax
45f98e:	89 4d bc             	mov    %ecx,-0x44(%ebp)
45f991:	89 7d c0             	mov    %edi,-0x40(%ebp)
45f994:	89 55 c4             	mov    %edx,-0x3c(%ebp)
45f997:	3b c8                	cmp    %eax,%ecx
45f999:	72 b5                	jb     0x45f950
45f99b:	8b 55 ec             	mov    -0x14(%ebp),%edx
45f99e:	89 55 c0             	mov    %edx,-0x40(%ebp)
45f9a1:	8b ca                	mov    %edx,%ecx
45f9a3:	3b d0                	cmp    %eax,%edx
45f9a5:	73 63                	jae    0x45fa0a
45f9a7:	8d 04 11             	lea    (%ecx,%edx,1),%eax
45f9aa:	8d 51 02             	lea    0x2(%ecx),%edx
45f9ad:	3b d0                	cmp    %eax,%edx
45f9af:	73 4c                	jae    0x45f9fd
45f9b1:	2b c2                	sub    %edx,%eax
45f9b3:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
45f9b6:	48                   	dec    %eax
45f9b7:	c1 e1 02             	shl    $0x2,%ecx
45f9ba:	d1 e8                	shr    $1,%eax
45f9bc:	40                   	inc    %eax
45f9bd:	89 4d b8             	mov    %ecx,-0x48(%ebp)
45f9c0:	89 45 bc             	mov    %eax,-0x44(%ebp)
45f9c3:	8b 7d a4             	mov    -0x5c(%ebp),%edi
45f9c6:	8b 03                	mov    (%ebx),%eax
45f9c8:	03 f9                	add    %ecx,%edi
45f9ca:	ff 75 0c             	push   0xc(%ebp)
45f9cd:	8b 70 0c             	mov    0xc(%eax),%esi
45f9d0:	8d 57 ec             	lea    -0x14(%edi),%edx
45f9d3:	52                   	push   %edx
45f9d4:	8b ce                	mov    %esi,%ecx
45f9d6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45f9dc:	8b cb                	mov    %ebx,%ecx
45f9de:	ff d6                	call   *%esi
45f9e0:	50                   	push   %eax
45f9e1:	8b cf                	mov    %edi,%ecx
45f9e3:	e8 48 ec fe ff       	call   0x44e630
45f9e8:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45f9eb:	83 c1 28             	add    $0x28,%ecx
45f9ee:	83 6d bc 01          	subl   $0x1,-0x44(%ebp)
45f9f2:	89 4d b8             	mov    %ecx,-0x48(%ebp)
45f9f5:	75 cc                	jne    0x45f9c3
45f9f7:	8b 4d c0             	mov    -0x40(%ebp),%ecx
45f9fa:	8b 75 c8             	mov    -0x38(%ebp),%esi
45f9fd:	8b 55 ec             	mov    -0x14(%ebp),%edx
45fa00:	03 ce                	add    %esi,%ecx
45fa02:	89 4d c0             	mov    %ecx,-0x40(%ebp)
45fa05:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
45fa08:	72 9d                	jb     0x45f9a7
45fa0a:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
45fa0d:	e8 7e e7 fe ff       	call   0x44e190
45fa12:	51                   	push   %ecx
45fa13:	6a 02                	push   $0x2
45fa15:	c7 45 90 dc 6b 4b 00 	movl   $0x4b6bdc,-0x70(%ebp)
45fa1c:	c7 45 98 02 00 00 00 	movl   $0x2,-0x68(%ebp)
45fa23:	e8 58 3d ff ff       	call   0x453780
45fa28:	89 45 9c             	mov    %eax,-0x64(%ebp)
45fa2b:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
45fa32:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45fa39:	8b 45 9c             	mov    -0x64(%ebp),%eax
45fa3c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45fa42:	8b 45 b4             	mov    -0x4c(%ebp),%eax
45fa45:	33 ff                	xor    %edi,%edi
45fa47:	33 f6                	xor    %esi,%esi
45fa49:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45fa4d:	83 c0 ff             	add    $0xffffffff,%eax
45fa50:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
45fa54:	89 45 bc             	mov    %eax,-0x44(%ebp)
45fa57:	8b c8                	mov    %eax,%ecx
45fa59:	89 45 e8             	mov    %eax,-0x18(%ebp)
45fa5c:	0f 88 6c 01 00 00    	js     0x45fbce
45fa62:	8b d1                	mov    %ecx,%edx
45fa64:	8b c1                	mov    %ecx,%eax
45fa66:	c1 ea 05             	shr    $0x5,%edx
45fa69:	83 e0 1f             	and    $0x1f,%eax
45fa6c:	89 45 b8             	mov    %eax,-0x48(%ebp)
45fa6f:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
45fa76:	89 45 dc             	mov    %eax,-0x24(%ebp)
45fa79:	8b 45 10             	mov    0x10(%ebp),%eax
45fa7c:	3b 50 08             	cmp    0x8(%eax),%edx
45fa7f:	72 04                	jb     0x45fa85
45fa81:	33 c0                	xor    %eax,%eax
45fa83:	eb 1a                	jmp    0x45fa9f
45fa85:	8b 40 0c             	mov    0xc(%eax),%eax
45fa88:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45fa8b:	8b 04 01             	mov    (%ecx,%eax,1),%eax
45fa8e:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45fa91:	d3 e8                	shr    %cl,%eax
45fa93:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45fa96:	83 e0 01             	and    $0x1,%eax
45fa99:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45fa9c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45fa9f:	8d 3c 78             	lea    (%eax,%edi,2),%edi
45faa2:	8b 45 18             	mov    0x18(%ebp),%eax
45faa5:	3b 50 08             	cmp    0x8(%eax),%edx
45faa8:	72 04                	jb     0x45faae
45faaa:	33 c0                	xor    %eax,%eax
45faac:	eb 14                	jmp    0x45fac2
45faae:	8b 40 0c             	mov    0xc(%eax),%eax
45fab1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45fab4:	8b 04 01             	mov    (%ecx,%eax,1),%eax
45fab7:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45faba:	d3 e8                	shr    %cl,%eax
45fabc:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45fabf:	83 e0 01             	and    $0x1,%eax
45fac2:	8d 34 70             	lea    (%eax,%esi,2),%esi
45fac5:	85 c9                	test   %ecx,%ecx
45fac7:	74 15                	je     0x45fade
45fac9:	8b 55 ec             	mov    -0x14(%ebp),%edx
45facc:	8d 04 3f             	lea    (%edi,%edi,1),%eax
45facf:	3b c2                	cmp    %edx,%eax
45fad1:	73 0b                	jae    0x45fade
45fad3:	8d 04 36             	lea    (%esi,%esi,1),%eax
45fad6:	3b c2                	cmp    %edx,%eax
45fad8:	0f 82 e4 00 00 00    	jb     0x45fbc2
45fade:	8b 55 bc             	mov    -0x44(%ebp),%edx
45fae1:	8b 45 e8             	mov    -0x18(%ebp),%eax
45fae4:	2b d1                	sub    %ecx,%edx
45fae6:	33 c9                	xor    %ecx,%ecx
45fae8:	89 45 bc             	mov    %eax,-0x44(%ebp)
45faeb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
45faf0:	85 ff                	test   %edi,%edi
45faf2:	75 04                	jne    0x45faf8
45faf4:	85 f6                	test   %esi,%esi
45faf6:	74 10                	je     0x45fb08
45faf8:	8b c6                	mov    %esi,%eax
45fafa:	0b c7                	or     %edi,%eax
45fafc:	a8 01                	test   $0x1,%al
45fafe:	75 08                	jne    0x45fb08
45fb00:	d1 ef                	shr    $1,%edi
45fb02:	4a                   	dec    %edx
45fb03:	d1 ee                	shr    $1,%esi
45fb05:	41                   	inc    %ecx
45fb06:	eb e8                	jmp    0x45faf0
45fb08:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
45fb0c:	89 4d b8             	mov    %ecx,-0x48(%ebp)
45fb0f:	89 7d c0             	mov    %edi,-0x40(%ebp)
45fb12:	74 1f                	je     0x45fb33
45fb14:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45fb17:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45fb1a:	d3 e6                	shl    %cl,%esi
45fb1c:	03 f7                	add    %edi,%esi
45fb1e:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
45fb21:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45fb24:	50                   	push   %eax
45fb25:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb28:	e8 03 eb fe ff       	call   0x44e630
45fb2d:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
45fb31:	eb 5e                	jmp    0x45fb91
45fb33:	85 d2                	test   %edx,%edx
45fb35:	74 2c                	je     0x45fb63
45fb37:	8b 03                	mov    (%ebx),%eax
45fb39:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb3c:	4a                   	dec    %edx
45fb3d:	51                   	push   %ecx
45fb3e:	89 55 b4             	mov    %edx,-0x4c(%ebp)
45fb41:	8b 78 18             	mov    0x18(%eax),%edi
45fb44:	8b cf                	mov    %edi,%ecx
45fb46:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fb4c:	8b cb                	mov    %ebx,%ecx
45fb4e:	ff d7                	call   *%edi
45fb50:	50                   	push   %eax
45fb51:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb54:	e8 d7 ea fe ff       	call   0x44e630
45fb59:	8b 55 b4             	mov    -0x4c(%ebp),%edx
45fb5c:	85 d2                	test   %edx,%edx
45fb5e:	75 d7                	jne    0x45fb37
45fb60:	8b 7d c0             	mov    -0x40(%ebp),%edi
45fb63:	85 ff                	test   %edi,%edi
45fb65:	75 04                	jne    0x45fb6b
45fb67:	85 f6                	test   %esi,%esi
45fb69:	74 26                	je     0x45fb91
45fb6b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45fb6e:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45fb71:	8b 13                	mov    (%ebx),%edx
45fb73:	d3 e6                	shl    %cl,%esi
45fb75:	03 f7                	add    %edi,%esi
45fb77:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
45fb7a:	8b 72 20             	mov    0x20(%edx),%esi
45fb7d:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45fb80:	8b ce                	mov    %esi,%ecx
45fb82:	50                   	push   %eax
45fb83:	8d 45 90             	lea    -0x70(%ebp),%eax
45fb86:	50                   	push   %eax
45fb87:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fb8d:	8b cb                	mov    %ebx,%ecx
45fb8f:	ff d6                	call   *%esi
45fb91:	8b 7d b8             	mov    -0x48(%ebp),%edi
45fb94:	85 ff                	test   %edi,%edi
45fb96:	74 23                	je     0x45fbbb
45fb98:	8b 03                	mov    (%ebx),%eax
45fb9a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fb9d:	51                   	push   %ecx
45fb9e:	8b 70 18             	mov    0x18(%eax),%esi
45fba1:	8b ce                	mov    %esi,%ecx
45fba3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45fba9:	8b cb                	mov    %ebx,%ecx
45fbab:	ff d6                	call   *%esi
45fbad:	50                   	push   %eax
45fbae:	8d 4d 90             	lea    -0x70(%ebp),%ecx
45fbb1:	e8 7a ea fe ff       	call   0x44e630
45fbb6:	83 ef 01             	sub    $0x1,%edi
45fbb9:	75 dd                	jne    0x45fb98
45fbbb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45fbbe:	33 f6                	xor    %esi,%esi
45fbc0:	33 ff                	xor    %edi,%edi
45fbc2:	83 e9 01             	sub    $0x1,%ecx
45fbc5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45fbc8:	0f 89 94 fe ff ff    	jns    0x45fa62
45fbce:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fbd1:	8d 4b 04             	lea    0x4(%ebx),%ecx
45fbd4:	e8 b7 e5 fe ff       	call   0x44e190
45fbd9:	8b 4d 98             	mov    -0x68(%ebp),%ecx
45fbdc:	c7 03 dc 6b 4b 00    	movl   $0x4b6bdc,(%ebx)
45fbe2:	85 c9                	test   %ecx,%ecx
45fbe4:	74 17                	je     0x45fbfd
45fbe6:	8b 45 9c             	mov    -0x64(%ebp),%eax
45fbe9:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45fbec:	83 c0 fc             	add    $0xfffffffc,%eax
45fbef:	90                   	nop
45fbf0:	83 38 00             	cmpl   $0x0,(%eax)
45fbf3:	75 08                	jne    0x45fbfd
45fbf5:	83 e8 04             	sub    $0x4,%eax
45fbf8:	83 e9 01             	sub    $0x1,%ecx
45fbfb:	75 f3                	jne    0x45fbf0
45fbfd:	e8 1e e7 fe ff       	call   0x44e320
45fc02:	51                   	push   %ecx
45fc03:	50                   	push   %eax
45fc04:	89 43 08             	mov    %eax,0x8(%ebx)
45fc07:	e8 74 3b ff ff       	call   0x453780
45fc0c:	8b 75 9c             	mov    -0x64(%ebp),%esi
45fc0f:	89 43 0c             	mov    %eax,0xc(%ebx)
45fc12:	8b 4b 0c             	mov    0xc(%ebx),%ecx
45fc15:	8b 45 a0             	mov    -0x60(%ebp),%eax
45fc18:	89 43 10             	mov    %eax,0x10(%ebx)
45fc1b:	3b ce                	cmp    %esi,%ecx
45fc1d:	74 14                	je     0x45fc33
45fc1f:	8b 43 08             	mov    0x8(%ebx),%eax
45fc22:	c1 e0 02             	shl    $0x2,%eax
45fc25:	50                   	push   %eax
45fc26:	56                   	push   %esi
45fc27:	51                   	push   %ecx
45fc28:	e8 f3 b9 00 00       	call   0x46b620
45fc2d:	8b 75 9c             	mov    -0x64(%ebp),%esi
45fc30:	83 c4 0c             	add    $0xc,%esp
45fc33:	8b 55 98             	mov    -0x68(%ebp),%edx
45fc36:	33 c0                	xor    %eax,%eax
45fc38:	8b fe                	mov    %esi,%edi
45fc3a:	8b ca                	mov    %edx,%ecx
45fc3c:	f3 ab                	rep stos %eax,%es:(%edi)
45fc3e:	8d 04 95 00 00 00 00 	lea    0x0(,%edx,4),%eax
45fc45:	56                   	push   %esi
45fc46:	83 f8 10             	cmp    $0x10,%eax
45fc49:	72 07                	jb     0x45fc52
45fc4b:	e8 10 63 03 00       	call   0x495f60
45fc50:	eb 05                	jmp    0x45fc57
45fc52:	e8 2b 9a 01 00       	call   0x479682
45fc57:	83 c4 04             	add    $0x4,%esp
45fc5a:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45fc5d:	e8 6e f8 ff ff       	call   0x45f4d0
45fc62:	8b c3                	mov    %ebx,%eax
45fc64:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45fc67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45fc6e:	59                   	pop    %ecx
45fc6f:	5f                   	pop    %edi
45fc70:	5e                   	pop    %esi
45fc71:	5b                   	pop    %ebx
45fc72:	8b e5                	mov    %ebp,%esp
45fc74:	5d                   	pop    %ebp
45fc75:	c2 14 00             	ret    $0x14
45fc78:	cc                   	int3
45fc79:	cc                   	int3
45fc7a:	cc                   	int3
45fc7b:	cc                   	int3
45fc7c:	cc                   	int3
45fc7d:	cc                   	int3
45fc7e:	cc                   	int3
45fc7f:	cc                   	int3
45fc80:	55                   	push   %ebp
45fc81:	8d 6c 24 a4          	lea    -0x5c(%esp),%ebp
45fc85:	83 ec 5c             	sub    $0x5c,%esp
45fc88:	6a ff                	push   $0xffffffff
45fc8a:	68 65 c5 49 00       	push   $0x49c565
45fc8f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45fc95:	50                   	push   %eax
45fc96:	83 ec 38             	sub    $0x38,%esp
45fc99:	53                   	push   %ebx
45fc9a:	56                   	push   %esi
45fc9b:	57                   	push   %edi
45fc9c:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45fca1:	33 c5                	xor    %ebp,%eax
45fca3:	50                   	push   %eax
45fca4:	8d 45 f4             	lea    -0xc(%ebp),%eax
45fca7:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45fcad:	8b f1                	mov    %ecx,%esi
45fcaf:	89 75 40             	mov    %esi,0x40(%ebp)
45fcb2:	8b 55 70             	mov    0x70(%ebp),%edx
45fcb5:	33 db                	xor    %ebx,%ebx
45fcb7:	89 5d 54             	mov    %ebx,0x54(%ebp)
45fcba:	89 5d 0c             	mov    %ebx,0xc(%ebp)
45fcbd:	89 5d 10             	mov    %ebx,0x10(%ebp)
45fcc0:	89 5d 14             	mov    %ebx,0x14(%ebp)
45fcc3:	85 d2                	test   %edx,%edx
45fcc5:	0f 84 94 00 00 00    	je     0x45fd5f
45fccb:	81 fa 55 55 55 15    	cmp    $0x15555555,%edx
45fcd1:	0f 87 97 05 00 00    	ja     0x46026e
45fcd7:	8d 3c 52             	lea    (%edx,%edx,2),%edi
45fcda:	c1 e7 02             	shl    $0x2,%edi
45fcdd:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
45fce3:	72 2a                	jb     0x45fd0f
45fce5:	8d 47 23             	lea    0x23(%edi),%eax
45fce8:	3b c7                	cmp    %edi,%eax
45fcea:	0f 86 83 05 00 00    	jbe    0x460273
45fcf0:	50                   	push   %eax
45fcf1:	e8 e2 9c 00 00       	call   0x4699d8
45fcf6:	83 c4 04             	add    $0x4,%esp
45fcf9:	85 c0                	test   %eax,%eax
45fcfb:	0f 84 77 05 00 00    	je     0x460278
45fd01:	8b 55 70             	mov    0x70(%ebp),%edx
45fd04:	8d 58 23             	lea    0x23(%eax),%ebx
45fd07:	83 e3 e0             	and    $0xffffffe0,%ebx
45fd0a:	89 43 fc             	mov    %eax,-0x4(%ebx)
45fd0d:	eb 16                	jmp    0x45fd25
45fd0f:	85 ff                	test   %edi,%edi